์ถ์ฒ : ๋ด์ผ๋ฐฐ์์บ ํ
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 |