Github Actions, Jenkins
1. CI/CD
2. Github Actions
3. Jenkins
1. CI/CD
CI/CDλ μ§μμ ν΅ν©(Continuous Integration)κ³Ό μ§μμ λ°°ν¬(Continuous Deployment)μ λλ€.
μ½λ μμ ν λ°λ‘ λ°°ν¬ νκ²½μ λ°μλ μ μλλ‘ μλννλ κ³Όμ μ λλ€.
μ¬κΈ°μλ Github Actions, Jenkinsμ κ°μ λκ΅¬κ° μ‘΄μ¬ν©λλ€.
μλμΌλ‘ λΉλ, ν μ€νΈ, λ°°ν¬κΉμ§μ νλ‘μΈμ€κ° μ§νλμ΄ λΉ λ₯΄κ³ μμ μ μΌλ‘ λ³κ²½ μ¬νμ΄ μ¬μ©μμκ² μ λ¬λ©λλ€.
- CI/CD λμ λ°©λ²
1. μ½λ μμ±
κ°λ°μκ° μλ‘μ΄ κΈ°λ₯μ μΆκ°νκ±°λ λ²κ·Έλ₯Ό μμ νλ©΄ Git μ μ₯μμ λ³κ²½λ μ½λλ₯Ό νΈμν©λλ€.
2. λΉλ
μ½λκ° λ³κ²½λλ©΄ CI/CD νμ΄νλΌμΈμ΄ μλμΌλ‘ μ€νλ©λλ€.
3. ν μ€νΈ
μ½λκ° μ μμ μΌλ‘ λμνλμ§ κ²μ¦νλ λ¨κ³μ λλ€.
CI/CDμμλ μλνλ ν μ€νΈλ₯Ό μ€ννλ©°, ν μ€νΈκ° μ€ν¨νλ©΄ λ°°ν¬κ° μ€λ¨λ©λλ€.
4. λ°°ν¬
ν μ€νΈκ° ν΅κ³Όνλ©΄ μλ² λλ ν΄λΌμ°λ νκ²½μ μλμΌλ‘ λ°°ν¬ν©λλ€.
- CI/CD λ±μ₯ μ λ°°ν¬ νλ‘μΈμ€
CI/CDμ κ°μ μλν λκ΅¬κ° μκΈ°κΈ° μ΄μ μλ λ°°ν¬λ₯Ό νκ±°λ μ½λμ λ³κ²½μ¬νμ΄ μμ λ μ‘°κΈ λ 볡μ‘ν λ°©μμΌλ‘ μ§νλμ΅λλ€.
1. μ ν리μΌμ΄μ μ λΉλνμ¬ .war νμΌμ μμ±
2. κΈ°μ‘΄ μλ²μ .war νμΌ μμ
3. μλ‘μ΄ .war νμΌ μ λ‘λ
4. μλ² μ¬μμ
5. μ¬λ¬ λμ μλ²μμ μ΄ κ³Όμ μ λ°λ³΅
μλ μμ μ΄ λ§κ³ , μ€μ λ°μ κ°λ₯μ±μ΄ λμ λ°©μμ΄μμ΅λλ€.
- CI/CD μ¬μ© μ΄μ
μ½λκ° λ³κ²½λλ©΄ μλμΌλ‘ λΉλ, ν μ€νΈ, λ°°ν¬κ° μ€νλκΈ° λλ¬Έμ λ°°ν¬ μκ°μ΄ λ¨μΆλλ€λ μ₯μ μ΄ μμ΅λλ€.
λν, μλμΌλ‘ ν μ€νΈλ₯Ό μ€νν΄μ£Όμ΄ λ²κ·Έλ₯Ό μ‘°κΈ°μ λ°κ²¬νμ¬ μμ μ μΈ λ°°ν¬κ° κ°λ₯ν©λλ€.
2. Github Actions
Githubμμ μ 곡νλ CI/CD λꡬμ λλ€.
μ½λ 리ν¬μ§ν 리 λ΄μμ μ§μ μν¬νλ‘(Workflow)λ₯Ό μ μνμ¬ μλνλ λΉλ, ν μ€νΈ, λ°°ν¬ λ±μ κ΄λ¦¬ν μ μμ΅λλ€.
Githubμ 리ν¬μ§ν 리μ μ½κ² ν΅ν©λκ³ , κ°λ¨ν μ€μ μΌλ‘ CI/CDλ₯Ό μλνν μ μμ΅λλ€.
3. Jenkins
μ€ν μμ€ μλν μλ²λ‘, CI/CD νμ΄νλΌμΈμ ꡬμ±νκ³ κ΄λ¦¬ν μ μλ λꡬμ λλ€.
Github Actionsμ λΉν΄ λ 볡μ‘νκ³ μ μ°ν CI/CD νμ΄νλΌμΈμ νμλ‘ νλ κ²½μ° μ¬μ©λ©λλ€.
λ€μν νλ¬κ·ΈμΈκ³Ό νμ₯μ±μ ν΅ν΄ λκ·λͺ¨ νλ‘μ νΈμμ μ¬μ©ν μ μμ΅λλ€.
4. Github Actions VS Jenkins
κ΅¬λΆ | Github Actions | Jenkins |
μ€μΉ λ° μ μ§λ³΄μ | Githubμμ μ 곡νλ μλΉμ€λ‘ λ³λ μλ² μ΄μ λΆνμ | μ체 μλ² μ€μΉ λ° μ μ§λ³΄μ νμ |
Github μ°λ | Github λ ν¬μ§ν°λ¦¬μ μ΅μ νλμ΄ μ½λ νΈμ, PR, λ¨Έμ§ μ΄λ²€νΈ μλ λ°μ | Webhookμ μ¬μ©ν΄ Githubμ μλ μ°κ²° νμ |
μ€μ λ°©μ | .github/workflows/*.yml νμΌ μ¬μ© | Groovy κΈ°λ° Pipeline μ€ν¬λ¦½νΈ μ¬μ© |
μ΄μ λΉμ© | λ¬΄λ£ μ€ν μκ°(μ 2,000λΆ) | μ체 μλ² μ΄μ νμνλ―λ‘ μ μ§ λΉμ© λ°μ |
보μ λ° μ λ°μ΄νΈ | GitHubμμ 보μ λ° μ λ°μ΄νΈ μλ κ΄λ¦¬ | νλ¬κ·ΈμΈ μ λ°μ΄νΈ λ° λ³΄μ ν¨μΉ μλ κ΄λ¦¬ νμ |
λΉλ νκ²½ | GitHubμμ μ 곡νλ κ΄λ¦¬ν VMμμ μ€ν | μ¬μ©μκ° μ§μ μλ²μ λΉλ νκ²½μ μ€μ ν΄μΌ ν¨ |
μ λ Github Actionsλ₯Ό μ¬μ©ν΄λ³΄μλλ° κ·Έ μ΄μ λ μ§κΈκΉμ§ λΉκ΅μ κ°λ¨ν μλΉμ€λ₯Ό κ°λ°ν΄μκΈ° λλ¬Έμ λλ€.
μμΌλ‘ λ ν° κ·λͺ¨μ μλΉμ€λ₯Ό κ°λ°νκ² λλ€λ©΄ Jenkinsμ κ°μ λ³΄λ€ νμ₯μ±μ΄ λμ CI/CD λꡬλ₯Ό μ¬μ©νκ² λ κ°λ₯μ±μ΄ ν½λλ€. GitHub Actionsλ₯Ό ν΅ν΄ λ¨Όμ CI/CD κ²½νμ μμμΌλ‘μ¨ λμ€μ Jenkinsμ κ°μ κ³ κΈ CI/CD μμ€ν μ λμ ν λλ λ³΄λ€ μ½κ² μ΄ν΄νκ³ μ μ©ν μ μμ κ²μ΄λΌ μκ°ν©λλ€.
μ°Έκ³ μ¬μ΄νΈ
[CI/CD] Github Actions μ λν΄
μ λ‘λμ€..
velog.io
Jenkinsλ? κ°λ λΆν° μ€μΉ μ€νκΉμ§ (μΏ λ²λ€ν°μ€ νκ²½)
λ¨Όμ , Jenkinsλ₯Ό μκΈ° μ CI/CDκ° λ¬΄μμΈμ§ μμμΌ νλ€. CI/CDλ?CIλ μ§μμ ν΅ν©(Continuous Integration), CDλ μ§μμ λ°°ν¬(Continuous Deployment)μ μ½μ΄λ‘, κ°λ°μλ€μ΄ λμμ μμ ν μ½λ λ³κ²½ μ¬νμ ν΅ν©
wlsdn3004.tistory.com
λ¬Έμ κ° μμΌλ©΄ λκΈ λ¨κ²¨μ£ΌμΈμ !
νΌλλ°±μ μΈμ λ νμμ λλ€ <3
'π Infra' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Spring Cloud] Spring Cloud (0) | 2025.02.11 |
---|---|
[MQ] Pub/Sub ꡬ쑰 - RabbitMQ, Kafka, Redis (0) | 2025.01.13 |
[Docker] Docker, Docker Compose, Kubernetes (0) | 2025.01.13 |
[MQ] Springboot STOMP νλ‘ν μ½μΌλ‘ Web Socket ν΅μ νκΈ° (0) | 2025.01.12 |
[Nginx] Nginxλ‘ λ‘λλ°Έλ°μ± νκΈ° (0) | 2025.01.11 |