π [Theory] π» μλν... CI / CD λ 무μμΈκ° ??
π» CI / CD
μλ
νμΈμ. π
μ€λμ CI / CD μ λν΄
μμλ³΄λ €κ³ ν©λλ€.
π» CI / CD λ 무μμΈκ°?
CI/CDλ μ ν리μΌμ΄μ
κ°λ° λ¨κ³λ₯Ό μλννμ¬ μ ν리μΌμ΄μ
μ λ³΄λ€ μ§§μ μ£ΌκΈ°λ‘ κ³ κ°μκ² μ 곡νλ λ°©λ²μ
λλ€.
CI/CDμ κΈ°λ³Έ κ°λ
μ μ§μμ μΈ ν΅ν©, μ§μμ μΈ μλΉμ€ μ 곡, μ§μμ μΈ λ°°ν¬μ
λλ€.
CI/CDλ μλ‘μ΄ μ½λ ν΅ν©μΌλ‘ μΈν΄ κ°λ° λ° μ΄μνμ λ°μνλ λ¬Έμ (μΌλͺ
"μΈν
κ·Έλ μ΄μ
ν¬(integration hell)")μ ν΄κ²°νκΈ° μν μ루μ
μ
λλ€.
κ°λ¨ν λ§νμλ©΄ μ¬μ©μκ° μ§μ ν
μ€νΈλ₯Ό νκ±°λ μ§μ λΉλλ₯Ό ν΄μ μλ²μ λ°°ν¬νλ μμ
λ€μ
λ²κ±°λ‘μ§ μκ² μλνλ₯Ό ν΄μ£Όλ κ² μ
λλ€.
1. μ§μμ ν΅ν©μ΄λ (CI) ?
Continuous Integration(μ΄ν CI)λ κ°λ°μλ₯Ό μν μλν νλ‘μΈμ€μΈ μ§μμ μΈ ν΅ν©μ μλ―Έν©λλ€.
CIλ₯Ό μ±κ³΅μ μΌλ‘ ꡬνν κ²½μ° μ ν리μΌμ΄μ
μ λν μλ‘μ΄ μ½λ λ³κ²½ μ¬νμ΄ μ κΈ°μ μΌλ‘ λΉλ λ° ν
μ€νΈλμ΄
곡μ 리ν¬μ§ν 리μ λ³ν©λλ―λ‘ μ¬λ¬λͺ
μ κ°λ°μκ° λμμ μ ν리μΌμ΄μ
κ°λ°κ³Ό κ΄λ ¨λ μ½λ μμ
μ ν κ²½μ°
μλ‘ μΆ©λν μ μλ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
λΉλμ ν
μ€νΈλ₯Ό μλνν΄μ€λλ€.
2. μ§μμ μ λ¬μ΄λ (CD)?
CI κ° λΉλ λ° ν
μ€νΈ μλνλΌλ©΄ CD λ λ°°ν¬ μλνλ₯Ό ν΄μ£Όλ κ²μ
λλ€.
CDλ λ°°ν¬ μμ€μ λ°λΌ Continuous Delivery / Continuous Deployment λ‘ λλ©λλ€.
Continuous Delivery
- μ ν리μΌμ΄μ
μ μ μ©ν λ³κ²½μ¬νμ΄ λ²κ·Έ ν
μ€νΈλ₯Ό κ±°μ³ λ ν¬μ§ν°λ¦¬μ μλμΌλ‘ μ
λ‘λ λλ κ²
- μ΄μνμ μΈμ λ μ€μκ°μΌλ‘ μ΄ λ ν¬μ§ν°λ¦¬μμ μ€μκ°μΌλ‘ νλ‘λμ
νκ²½μΌλ‘ λ°°ν¬ κ°λ₯
Continuous Deployment
- μ ν리μΌμ΄μ
μ νλ‘λμ
νκ²½μΌλ‘ λ°°ν¬νλ μμ
μ μλν νλ κ²
- μλ²κ° μ¬λ¬ λ μΌ κ²½μ° λμ± μ€μ
- Continuous Deliveryλ‘ ν΅μΉνμ¬ μΈκΈνκΈ°λ ν¨
Continuous Delivery μ Continuous Deployment λ
νλ‘λμ
νκ²½ λ°°ν¬κΉμ§ μλνλ₯Ό ν΄μ£Όλ λ§λμ μ°¨μ΄λ₯Ό κ°λ κ² λ§κ³ λ
μλΉν λΉμ·νμ¬ λμ λ¬Άμ΄μ CD (Continuous Delivery)λ‘ ν΅μΉνκΈ°λ ν©λλ€.
λ
CI / CD (μ§μμ ν΅ν© / μ§μμ μ λ¬) μ λν΄ μμ보μμ΅λλ€.
κ°μ¬ν©λλ€. π
Reference
https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment
https://onlywis.tistory.com/9
https://itholic.github.io/qa-cicd/
Written on June 19, 2020