
CI
<aside>
π‘
μ§μμ ν΅ν©(Continuous Integration)
</aside>
CIμ μ£Όμ κ°λ
κ³Ό νλ¦
- μ§μμ μΈ μ½λ λ³ν©:
- μ¬λ¬ κ°λ°μκ° κ°μμ λΈλμΉμμ μμ
ν μ½λλ₯Ό μ€μ μ μ₯μ(μ: GitHub, GitLab λ±)μ μμ£Ό λ³ν©ν©λλ€.
- μ½λκ° λ³ν©λ λλ§λ€ CI νλ‘μΈμ€κ° μλμΌλ‘ νΈλ¦¬κ±°λ©λλ€.
- μλ λΉλ:
- μ½λλ₯Ό λ³ν©νλ©΄ CI μλ²μμ μλμΌλ‘ λΉλκ° μνλ©λλ€.
- λΉλ λ¨κ³μμ μ½λκ° νλ‘μ νΈ μ€μ μ λ°λΌ μ λλ‘ μ»΄νμΌλκ³ μ€ν κ°λ₯νμ§ νμΈν©λλ€.
- μλ ν
μ€νΈ:
- λΉλκ° μλ£λλ©΄, μ½λκ° μ¬λ°λ₯΄κ² μλνλμ§ νμΈνκΈ° μν΄ μλνλ ν
μ€νΈκ° μ€νλ©λλ€.
- μ λ ν
μ€νΈ(Unit Test), ν΅ν© ν
μ€νΈ(Integration Test) λ±μ ν΅ν΄ κΈ°λ₯λ³λ‘ μμν λλ‘ λμνλμ§ κ²μ¦ν©λλ€.
- ν
μ€νΈμμ μ€λ₯κ° λ°μνλ©΄ κ°λ°μμκ² μλ¦Όμ 보λ΄, λ¬Έμ κ° μλ μ½λλ₯Ό μ μν μμ ν μ μλλ‘ ν©λλ€.
- νΌλλ°± 루ν:
- CIλ μ½λ λ³ν© ν λͺ λΆ μμ ν
μ€νΈ κ²°κ³Όμ νΌλλ°±μ μ 곡ν©λλ€.
- κ°λ°μλ λΉ λ₯΄κ² νΌλλ°±μ λ°μμ, μ½λμ λ²κ·Έλ₯Ό μμ νκ³ νμ§μ κ°μ ν μ μμ΅λλ€.
CIμ μ£Όμ μ₯μ
- λ¬Έμ μ‘°κΈ° λ°κ²¬: μ½λκ° μμ£Ό ν΅ν©λκ³ ν
μ€νΈλλ―λ‘, λ¬Έμ κ° λλ μ½λλ₯Ό μ‘°κΈ°μ λ°κ²¬νμ¬ ν΄κ²°ν μ μμ΅λλ€.
- λ²κ·Έ κ°μ: CIλ₯Ό ν΅ν΄ λͺ¨λ μ½λκ° μΌκ΄λκ² ν
μ€νΈλλ―λ‘, λ°°ν¬ μ μ λ°μν μ μλ λ²κ·Έμ κ°λ₯μ±μ μ€μ¬ μ€λλ€.
- κ°λ° ν¨μ¨μ± ν₯μ: CIλ μλνλ ν
μ€νΈμ λΉλλ₯Ό ν΅ν΄ κ°λ°μμ μμμ
μ μ€μ΄κ³ , λΉ λ₯Έ νΌλλ°±μ μ 곡νμ¬ κ°λ° μλλ₯Ό λμ
λλ€.
- ν νμ
ν₯μ: μ¬λ¬ κ°λ°μκ° λμμ μμ
ν λ λ°μν μ μλ ν΅ν© λ¬Έμ λ₯Ό 미리 ν΄κ²°ν¨μΌλ‘μ¨, νμ΄ λ ν¨κ³Όμ μΌλ‘ νμ
ν μ μκ² λμμ€λλ€.
CI μμ
- κ°λ°μκ° μ½λ λ³κ²½ ν μ»€λ° & νΈμ β GitHub λ±μ μ μ₯μλ‘ νΈμ
- CI μλ²κ° λΉλ λ° ν
μ€νΈ μ€ν β GitHub Actions, Jenkins, GitLab CI/CD λ±μμ μλμΌλ‘ λΉλ λ° ν
μ€νΈ μ€ν
- ν
μ€νΈ μ±κ³΅ μ β μ½λκ° μ μμ μΌλ‘ μλνλ€κ³ νλ¨, λ€μ λ¨κ³λ‘ μ§ν
- ν
μ€νΈ μ€ν¨ μ β κ°λ°μμκ² μλ¦Όμ λ³΄λ΄ λ¬Έμ λ₯Ό μμ νλλ‘ μμ²
CI λꡬ