μΆμ² : λ΄μΌλ°°μμΊ ν
1) CI(Continuous Integration) : μ§μμ ν΅ν© ~ μ¬λ¬ κ°λ°μκ° νλμ νλ‘μ νΈλ₯Ό κ°μ΄ κ°λ°ν λ λ°μνλ λΆμΌμΉ μ΅μν
-> CIλ₯Ό μ λλ‘ κ΅¬ννλ©΄ μ ν리μΌμ΄μ λ³κ²½ μ¬ν λ°μ μ μλμΌλ‘ λΉλ λ° ν μ€νΈλμ΄ μλͺ»λ μ½λκ° κ³΅μ λλ κ²μ λ°©μ§
μ½λμ μ λ’°μ± μ¦μ§
2) CD(Continuous Deployment) : μ§μμ λ°°ν¬ ~ νλ‘μ νΈμ λ³κ²½μ¬νμ κ°μ νκ²½μ μλμΌλ‘ λ°°ν¬
-> CDλ₯Ό ꡬμ±ν΄λλ©΄ λ³κ²½μ¬νμ λ°°ν¬ν λ μ¬μ©νλ νμ΄ν λΌμΈμ 곡μ νμ¬ λ²κ±°λ‘μμ μμ¨ μ μλ€
λ°°ν¬ νλ‘μ°μ λκΈ°ν
Github Actions : κΉνμμ μ 곡νλ CI/CD ν΄
+JAVA CI with Gradle : gradle.yml μμ νκΈ°
on : μν¬νλ‘μ° μνν μ΄λ²€νΈ
jobs: μνν μν¬νλ‘μ°
κΉν μ‘μ μ μ¬μ©ν΄ AWS EC2μ λ°°ν¬νκΈ°
- Github Actions μμ AWS μ λ°°ν¬νλ λ°©λ²
- AWS EC2 μ€μ μΆκ°
- AWS S3 λ²ν· μμ±
- AWS CodeDeploy μ± μμ± λ° λ°°ν¬ μ€μ
- Github Actions μμ μ¬μ©ν μ¬μ©μ κΆν μΆκ°
- AppSpec νμΌ μμ±
- λ°°ν¬ μ€ν¬λ¦½νΈ μμ±
- Github Actions Workflow μμ±
- Github μμ push λ‘ λ°°ν¬νκΈ°
Main λΈλμΉμ Push νλ©΄ μλμΌλ‘ EC2κΉμ§ λ°°ν¬λλ Workflow ~ μμ€μ½λλ₯Ό μμΆνμ¬ AWS μ€ν 리μ§μ μ μ₯ ν μλ²μ μ λ¬ν΄ μ€ννλ€
ν° νλ¦μ μμ½νλ©΄ λ€μκ³Ό κ°μ΅λλ€.
- Github Actions μμ μ½λ λΉλ (ν μ€νΈλ CI μμ νλ€κ³ κ²μ¦νλ€κ³ νλ¨νμ¬ μλ΅)
- AWS μΈμ¦
- μ½λ μμΆν΄μ AWS S3 μ μ λ‘λ
- AWS CodeDeploy μ€ννμ¬ S3 μ μλ μ½λ EC2 μ λ°°ν¬
κΉνλΈ νλ‘μ νΈ μ½λλ₯Ό AWS S3μ μ λ‘λ ν ν AWS EC2μμ λμ΄λ€ μ°λ κ²μ΄ κ°μ₯ ν΅μ¬,
AWS CodeDeployλ κ·Έκ±Έ 보쑰
EC2 μ€μ μΆκ°
1. Tag μΆκ°(CodeDeployμμ μ΄λ€ μΈμ€ν΄μ€μ μ€νν μ§ κ΅¬λΆνλ κ°)
2. IAM μν λ±λ‘
3. EC2 μλ²μ CodeDeploy Agent μ€μΉ
AWS S3 μμ±
λ²ν· μμ±
μΌλ° ꡬμ±κ³Ό κ°μ²΄ μμ κΆ μ€μ
μμΈμ€, λ²ν· λ²μ , μνΈν λΉνμ±ν
CodeDeploy μμ±
CodeDeploy μ μ© IAM μν λ§λ€κΈ°
CodeDeploy μ ν리μΌμ΄μ μμ±
CodeDeploy λ°°ν¬κ·Έλ£Ή μμ±
Github Actionsμμ μ¬μ©ν IAM μ¬μ©μ μΆκ°
μ¬μ©μ μ΄λ¦, μμΈμ€ μ ν, μ κ·Ό κΆν μ€μ
Access Key, Secret Key μμ±
κΉν λ ν¬μ§ν 리μμ μν¬λ¦Ώ μΆκ°
AppSpec νμΌ μμ±
files μΉμ
permissions μΉμ
hooks μΉμ
λ°°ν¬ μ€ν¬λ¦½νΈ μμ±
stop.sh
start.sh
build.gradle νμΌ μμ
κΉν μ‘μ μν¬νλ‘μ° μμ±
sample workflow -> deploy.yml μμ±
κΉν μ‘μ μ¬μ©νμ¬ λ°°ν¬νκΈ°
repoμμ νμΈ
AWS codedeployμμ νμΈ
EC2 μλ²μμ μ ν리μΌμ΄μ μ€ν νμΈ
'κ°λ°κ³΅λΆ > AWS π°οΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
AWS S3λ₯Ό νμ©ν΄ νλ‘μ νΈ κ΅¬ν : μν & νλ‘ν μλΉμ€ μ΄λ―Έμ§ μ€ν 리μ§λ‘ νμ©νκΈ° (0) | 2023.03.25 |
---|---|
κ°μ μ 리 : AWS μ€λ¬΄ κΈ°μ΄ (1) (0) | 2023.02.15 |