π¦ Nx practice repository
νμ¬ κ°μ₯ λ§μ κΈ°λ₯μ μ 곡νλ λͺ¨λ
Έλ ν¬λ₯Ό μν λꡬ
κ°λ°μ μμ°μ± ν₯μ, CI μ±λ₯ μ΅μ ν, μ½λ νμ§ μ μ§λ₯Ό μν μ΅κ³ μμ€μ λꡬλΌκ³ μκ°λμ΄ μλ€.
μ€ν μμ€μ΄λ©΄μ Nx CloudλΌλ μ λ£ μνμ ν΅ν΄ μ격 μΊμ± λ° λΆμ° νμ€ν¬ μνκ³Ό κ°μ μμ€ λμ κΈ°λ₯μ μ 곡νκ³ μλ€.
nxλ λ¨μΌ μν¬μ€νμ΄μ€ νΉμ μ 체 μν¬μ€νμ΄μ€λ€μ λν νμ€ν¬ μν λͺ λ Ήμ΄λ₯Ό κ°μ§κ³ μλ€.
# Syntax
nx <target name> <project name> <option overrides>
# Example
nx test products --watch
- nx build : λ¨μΌ μν¬μ€νμ΄μ€ νμ€ν¬ μ€ν
(ν΄λΉ μν¬μ€νμ΄μ€μμ build μ€ν) - nx run-many -t build: μ 체 μν¬μ€νμ΄μ€λ€μ λν νμ€ν¬ μ€ν (build μ€ν)
(μ 체 μν¬μ€νμ΄μ€μμ build μ€ν) - nx run-many -t build test: μ 체 μν¬μ€νμ΄μ€λ€μ λν μ¬λ¬ νμ€ν¬ μ€ν
(μ 체 μν¬μ€νμ΄μ€μμ buildμ test μ€ν)
nxλ μΊμ± κΈ°λ₯(λ‘컬 μΊμ±)μ μ 곡νκ³ μλ€.
- νμ€ν¬ μ€ν λͺ λ Ήμ΄λ₯Ό μ€ννλ©΄, μ¬λ¬ λ°©μμ μ€μ νμΌλ‘λΆν° μΊμ±μ μ΄λ»κ² νλμ§ μ²΄ν¬νλ€.
- nx.json / project.json / packages.json λ±μ μ΄μ©ν΄μ μ€μ νλ€.
λ‘컬 μΊμ± μ΄μΈμλ 리λͺ¨νΈ μΊμ± κΈ°λ₯μ μ 곡νλ€.
# Nx Cloudλ₯Ό ν΅ν΄ μ¬μ©μ΄ κ°λ₯νλ€.
nx connect-to-nx-cloud
μμ μ λΆμ°ν΄μ μ€ννλ κΈ°λ₯μ μ 곡νλ€.
λ ν¬μ§ν 리μ ν΅μ¬μ΄ μμ λμ΄ λͺ¨λ μμ
μ CIμμ μ€νν΄μΌ νλ κ²½μ°,
μ±λ₯μ κ°μ ν μ μλ μ μΌν λ°©λ²μ μμ΄μ νΈ μμ
μ λ μΆκ°νκ³ μμ
μ ν¨μ¨μ μΌλ‘ λ³λ ¬ννλ κ²λΏμ΄λ€.
# 1. Nx Cloudμ μ°κ²°
nx connect-to-nx-cloud
# 2. CIμμ DTEλ₯Ό νμ±ννλ€.
nx generate @nrwl/workspace:ci-workflow --ci=github
λͺ¨λ Έλ ν¬ μμ μλ λͺ¨λ ν¨ν€μ§ κ°μ μμ‘΄μ± κ·Έλνλ₯Ό μκ°μ μΌλ‘ 보μ¬μ£Όλ κΈ°λ₯μ μ 곡νλ€.
nx graph
μ¬μ©νλ packages versionsλ€μ μ λ°μ΄νΈ λλ μ¬λ¬ κ°μ§ λꡬλ€μ μ€μ μ μ λ°μ΄νΈνκ±°λ μ¬μ§μ΄ μμ€μ½λλ λ§μ΄κ·Έλ μ΄μ μ μλμΌλ‘ μνν΄ μ€λ€.
λͺ¨λμ κ²½κ³λ₯Ό κ°μ (?) νλ κΈ°λ₯μ μ 곡νλ€.
- μ½λ λΆμμ μ¬μ©νμ¬ νλ‘μ νΈκ° μλ‘μ μ μ μλ κ³΅μ© APIμλ§ μμ‘΄ν μ μλλ‘ νλ€.
- νλ‘μ νΈκ° μλ‘ μμ‘΄ν μ μλ λ°©μμ μ μΈμ μΌλ‘ μ μ½μ κ°ν μ μλ€.
- Lint μ€μ μ μ΄μ©ν΄μ μ μΈμ μΌλ‘ μ€μ ν λ΄μ©μ λ°νμΌλ‘ μ μ½μ κ°ν μ μλ€.
Nx Console for VSCodeλΌλ VSCode νμ₯ νλ‘κ·Έλ¨μ μ 곡νκ³ μλ€.
곡ν΅μ μΌλ‘ μ¬μ© κ°λ₯ν μ€νκΈ°λ μ½λλ₯Ό μμ±ν΄ λ΄λ μμ±κΈ°λ₯Ό νλ¬κ·ΈμΈμΌλ‘ μμ±νκ³ μλ‘ κ³΅μ ν μ μλ€.