<aside>
</aside>
π― μ΄λ² μ±ν° λͺ©ν
- κ°λ° μν¬νλ‘μ° μλν νμμ± λ° μ΄μ μ΄ν΄
- Nox μ μ λ° ν΄κ²° λ¬Έμ μ€λͺ
- Noxμ Tox μ°¨μ΄μ κ°λ΅ μ΄ν΄ (Python κΈ°λ° μ€μ )
- Nox μ€μΉ λ° κΈ°λ³Έ λͺ
λ Ήμ΄(
nox -l
, nox -s
) μ¬μ©λ² μ΅νκΈ°
noxfile.py
μν κ³Ό κΈ°λ³Έ ꡬ쑰 μ΄ν΄, κ°λ¨ν 첫 Nox μΈμ
μ μ λ° μ€ν
- Noxμ μΈμ
λ³ κ²©λ¦¬λ κ°μ νκ²½ μ¬μ© μ΄μ λ° μ΄μ μ΄ν΄
π» κ°μ μ 체 μ½λ λ° νλ‘μ νΈ κ΅¬μ‘° (Noxfile μΆκ°!)
νλ‘μ νΈ κ΅¬μ‘°:
graph TD
A(my-pytest-project) --> B(.venv νλ‘μ νΈ κΈ°λ³Έ κ°μνκ²½ nox μ€μΉ);
A --> C(mycalc);
A --> D(tests);
A --> E(pytest.ini);
A --> F(noxfile.py Nox μλν λ μνΌ νμΌ);
C --> ...;
D --> ...;
style B fill:#eee,stroke:#333,stroke-dasharray: 5 5;
style C fill:#ccf,stroke:#333;
style D fill:#cfc,stroke:#333;
style E fill:#fef,stroke:#333;
style F fill:#ffc,stroke:#333;
noxfile.py
(μ νμΌ - νλ‘μ νΈ λ£¨νΈμ μμ±):
- μ΄λ² μκ°μ μ¬μ©ν μ£Όμ λͺ
λ Ήμ΄:
π λ΄μ©
1. 'μλν'μ νμμ±: λ°λ³΅ μμ
ν΄λ°©!
- λ°°κ²½:
pytest
μ€ν μΈ λ°λ³΅μ κ°λ° μμ
λ€μ μ‘΄μ¬.
- μ½λ μ€νμΌ κ²μ¬ (Linting):
flake8
, pylint
- μ½λ ν¬λ§€ν
(Formatting):
black
, isort
- λ¬Έμ λΉλ
- ν¨ν€μ§ λ° λ°°ν¬
- λ€μν νκ²½(Python λ²μ , μμ‘΄μ± μ‘°ν©) ν
μ€νΈ
- μλ μμ
λ¬Έμ μ : λ²κ±°λ‘μ, μ€μ μ λ°, μ κ· νμ μ μ μκ° μμ.
- μλν μ΄μ :
- μΌκ΄μ±: νμ λμΌ λ°©μ μμ
μν.
- ν¨μ¨μ±: λ¨μΌ λͺ
λ ΉμΌλ‘ μ¬λ¬ μμ
μ€ν, μκ° μ μ½.
- μ λ’°μ±: μλ μμ
μ€μ κ°μ.
- μ¬μ΄ νμ
: μλν μ€ν¬λ¦½νΈ 곡μ λ‘ λμΌ μμ
μ©μ΄.
- CI/CD ν΅ν©: GitHub Actions, Jenkins λ±κ³Ό μ°λ, μ§μμ νμ§ κ΄λ¦¬.