CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(1)
๋น๋ ๋ฐฐํฌ ํ๋ฆ
์ฌ์ ์ค๋น
AWS IAM ์ญํ (Role) ์ค์
EC2CodeDeployRole ์์ฑ
CodeDeployRole ์์ฑ
AWS EC2 IAM ์ญํ ์์
AWS IAM ์ฌ์ฉ์ ์ถ๊ฐ
CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(2)
AWS S3 ๋ฒํท ์์ฑ
AWS CodeDeploy ์์ฑ
AWS EC2 ์ ์ํ์ฌ CodeDeploy Agent ์ค์น
AWS EC2 Postgresql ์ค์น
CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(3)
์์ค์ฝ๋ ์์
.circleci > config.ymlํ์ผ
ํ๋ก์ ํธํด๋ > appspec.yml
ํ๋ก์ ํธํด๋ > scripts > deploy.sh
ํ๋ก์ ํธํด๋ > src > main > resources > application.yml
CircleCI Context์ค์
AWS ํ๊ฒฝ๋ณ์ ์ ์ฅ
ํ๋ก์ ํธ ํ๊ฒฝ๋ณ์ ์ ์ฅ
๊นํ๋ธ ์์ค์ฝ๋ pushํ์ฌ ๋น๋ ๋ฐฐํฌ ํ์ธ
ํํํ๋ฉด์ ๊ณต๋ถํ ๋ด์ฉ์ด๋ค (์ฌ์ค ๊ณต๋ถ๋ ์๋๊ณ ์ด๋ป๊ฒ ๋์ํ๋์ง๋ง ์ฐ์ด๋จน์ด๋ณธ ์ ๋..)
์ ์ดํดํ์ง ๋ชปํ ๋ถ๋ถ๋ ๋ง๊ณ ์์ฒญ ํค๋งค์๋ค. ์ผ๋จ ์ด๋ป๊ฒ ๋์๋์๋์ง ๋จ๊ฒจ๋๋ ์ฉ๋๋ก ์์ฑํ๋ ๊ธ์ด๋ค
๋น๋ ๋ฐฐํฌ ํ๋ฆ
Git -> CircleCI -> AWS S3 -> AWS CodeDeploy -> AWS EC2
CircleCI๋ Git์์ ๊ฐ์ ธ์จ ์ฝ๋๋ฅผ ๋ฐํ์ผ๋ก ๋น๋ํ๊ณ , ์ฝ๋๋ฅผ ์์ถํด์ S3์ ๋ณด๋ด์ค๋ค
S3์ ์ ์ฅ๋ ์์ถํ์ผ์ CodeDeploy๋ฅผ ํตํด EC2์ ์ ์ก๋๋ค
EC2๋ ๋ฐ์ ํ์ผ์ ๋ฐฐํฌํ๋ค
์ฌ์ ์ค๋น
์ผ๋จ SpringBoot ํ๋ก์ ํธ๋ก ์งํํ๊ณ , CircleCI ์ฐ๋์ด ์๋ฃ๋ Github Repository, AWS EC2๋ฅผ ์ค๋นํ๋ค
AWS IAM ์ญํ (Role) ์ค์
EC2CodeDeployRole ์์ฑ
1. ์ญํ ๋ง๋ค๊ธฐ ํด๋ฆญ
2.
์ ๋ขฐํ ์ ์๋ ์ํฐํฐ ์ ํ : AWS ์๋น์ค
์ฌ์ฉ์ฌ๋ก : EC2
3. AmazonEC2RoleforAWSCodeDeploy ๊ฒ์ํ์ฌ ์ ํ > ๋ค์
4. ์ญํ ์ด๋ฆ EC2CodeDeployRoleTest, ํ๊ทธ Name:EC2CodeDeployRoleTest ์ ๋ ฅ
CodeDeployRole ์์ฑ
1. ์ญํ ๋ง๋ค๊ธฐ ํด๋ฆญ
2.
์ ๋ขฐํ ์ ์๋ ์ํฐํฐ ์ ํ : AWS ์๋น์ค
์ฌ์ฉ์ฌ๋ก > ๋ค๋ฅธ AWS ์๋น์ค์ ์ฌ์ฉ ์ฌ๋ก : CodeDeploy > CodeDeploy ์ ํ
3. AWSCodeDeployRole ์ ํ๋์ด์๋๊ฒ ํ์ธ ํ ๋ค์
4. ์ญํ ์ด๋ฆ : CodeDeployRoleTest, ํ๊ทธ Name:CodeDeployRoleTest ์ ๋ ฅ
5. ์ด 2๊ฐ์ ์ญํ ์ด ์์ฑ๋์์ผ๋ฉด ์๋ฃ
AWS EC2 IAM ์ญํ ์์
1. EC2๋ฅผ ์ฐํด๋ฆญํ์ฌ ๋ณด์ > IAM ์ญํ ์์ ํด๋ฆญ
2. ์์์ ์์ฑํ๋ EC2CodeDeployRoleTest์ ํ ํ ์ ์ฅ
3. ์ธ์คํด์ค ์ฌ๋ถํ ํ์ฌ ์ญํ ์ ์ฉ
AWS IAM ์ฌ์ฉ์ ์ถ๊ฐ
1. ์ฌ์ฉ์ ์ถ๊ฐ ํด๋ฆญ
2.
์ฌ์ฉ์์ด๋ฆ : CodeDeployUser
์๊ฒฉ์ฆ๋ช ์ ํ : ์ก์ธ์คํค - ํ๋ก๊ทธ๋๋ฐ๋ฐฉ์ ์ก์ธ์ค
3. ๊ธฐ์กด ์ ์ฑ ์ง์ ์ฐ๊ฒฐ > AmazonS3FullAccess, AWSCodeDeployFullAccess ์ ํ ํ ๋ค์
4. Name : CodeDeployUser ์ ๋ ฅ
5. ๋ด์ฉ ํ์ธ ํ ์ฌ์ฉ์ ๋ง๋ค๊ธฐ ํด๋ฆญ
6. ์ฌ์ฉ์ ์ก์ธ์คํค์ ์ํฌ๋ฆฟํค ๋ค์ด
์๋ ํ๋ฉด์ ํ๋ฒ๋ง ๋ณผ ์ ์๋ค!! ๋ง์ฝ csv๋ฅผ ์ ์ฅํ์ง ์์๋ค๋ฉด ์๋ก ๋ฐ๊ธ๋ฐ์ผ๋ฉด๋๋ค (6-1๋ฒ ์ฐธ๊ณ )
6-1. csv๋ฅผ ์ ์ฅํ์ง ์์ ๊ฒฝ์ฐ ๋ณด์์๊ฒฉ์ฆ๋ช ์ ๋ค์ด๊ฐ ์ก์ธ์คํค ๋ง๋ค๊ธฐํ์ฌ csv๋ฅผ ์ ์ฅํ๋ฉด๋๋ค (๋ง์ฐฌ๊ฐ์ง๋ก csv๋ฅผ ์ ์ฅํ ์ ์๋ ํ๋ฉด์ ํ๋ฒ๋ง ๋ณผ ์ ์๋ค)
'๐งฐ DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(3) (0) | 2022.03.18 |
---|---|
CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(2) (0) | 2022.03.18 |
AWS EC2 Jenkins ์ค์น (0) | 2022.03.18 |
SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(3)โ (1) | 2022.02.19 |
SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(2)โ (0) | 2022.02.18 |