Full_Stack developer

AWS CodePipeline์œผ๋กœ CI/CD ๊ตฌ์„ฑํ•˜๊ธฐ ๋ณธ๋ฌธ

Devops/AWS

AWS CodePipeline์œผ๋กœ CI/CD ๊ตฌ์„ฑํ•˜๊ธฐ

develkbh 2025. 4. 8. 13:46


๐Ÿš€ AWS CodePipeline์œผ๋กœ CI/CD ๊ตฌ์„ฑํ•˜๊ธฐ

์ง€๋‚œ ๊ธ€์—์„œ๋Š” AWS DevOps๋ž€ ๋ฌด์—‡์ธ๊ฐ€์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ์—๋Š” ๊ทธ์ค‘์—์„œ๋„ **CI/CD ์ž๋™ํ™”์˜ ํ•ต์‹ฌ ๋„๊ตฌ์ธ ‘AWS CodePipeline’**์„ ํ™œ์šฉํ•ด
์‹ค์ œ๋กœ ๊ฐœ๋ฐœ → ํ…Œ์ŠคํŠธ → ๋ฐฐํฌ๊ฐ€ ์ž๋™์œผ๋กœ ํ๋ฅด๋Š” ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•ด๋ณผ๊ฒŒ์š”.


๐Ÿ”„ CodePipeline์ด๋ž€?

AWS CodePipeline์€
์†Œํ”„ํŠธ์›จ์–ด ๋ฆด๋ฆฌ์ฆˆ ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜๋Š” CI/CD ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•˜๋ฉด → ๋นŒ๋“œํ•˜๊ณ  → ํ…Œ์ŠคํŠธํ•˜๊ณ  → ๋ฐฐํฌ๊นŒ์ง€ ์ž๋™์œผ๋กœ ์ง„ํ–‰๋˜๋„๋ก ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

 


โœ… CodePipeline์˜ ์ฃผ์š” ๋‹จ๊ณ„

CodePipeline์€ ๋ณดํ†ต ์•„๋ž˜ 3๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

  1. Source (์†Œ์Šค)
    • ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋‹จ๊ณ„
    • ์˜ˆ: GitHub, AWS CodeCommit
  2. Build (๋นŒ๋“œ)
    • ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋‹จ๊ณ„
    • ์˜ˆ: AWS CodeBuild
  3. Deploy (๋ฐฐํฌ)
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋ฒ„๋‚˜ Lambda ๋“ฑ์— ๋ฐฐํฌ
    • ์˜ˆ: AWS CodeDeploy, S3, ECS

๐Ÿ› ๏ธ ์‹ค์Šต: ๊ฐ„๋‹จํ•œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑํ•˜๊ธฐ

์˜ˆ์ œ: GitHub์— ์ปค๋ฐ‹ํ•œ ์ฝ”๋“œ๋ฅผ S3์— ์ž๋™ ๋ฐฐํฌํ•˜๊ธฐ

1. S3 ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ

  • ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…์šฉ์œผ๋กœ ์‚ฌ์šฉํ•  S3 ๋ฒ„ํ‚ท ์ƒ์„ฑ
  • ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์„ค์ • ์ฃผ์˜!

2. GitHub ์ €์žฅ์†Œ ์ค€๋น„

  • HTML ํŒŒ์ผ์ด๋‚˜ React ์ •์  ์›น์„ ์˜ฌ๋ ค๋‘๊ธฐ
  • ์ปค๋ฐ‹ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฐ˜์˜๋˜๋„๋ก ํ•  ์˜ˆ์ •

3. CodePipeline ์ƒ์„ฑ

๐Ÿ‘‰ Step 1: Pipeline ์ด๋ฆ„ ์„ค์ •

  • ์˜ˆ: my-static-website-pipeline

๐Ÿ‘‰ Step 2: Source ์„ค์ •

  • Provider: GitHub
  • ์ €์žฅ์†Œ์™€ ๋ธŒ๋žœ์น˜ ์„ ํƒ

๐Ÿ‘‰ Step 3: Build ๋‹จ๊ณ„ ์ƒ๋žต (์ •์  ํŒŒ์ผ๋งŒ ๋ฐฐํฌํ•  ๊ฒฝ์šฐ)

๐Ÿ‘‰ Step 4: Deploy ์„ค์ •

  • Deploy provider: Amazon S3
  • ๋Œ€์ƒ S3 ๋ฒ„ํ‚ท ์„ ํƒ

๐Ÿ‘‰ Step 5: ํ™•์ธํ•˜๊ณ  ์ƒ์„ฑ


๐Ÿ” ์ปค๋ฐ‹ → ์ž๋™ ๋ฐฐํฌ ํ๋ฆ„ ๋ณด๊ธฐ

  1. GitHub ์ €์žฅ์†Œ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํ‘ธ์‹œ
  2. CodePipeline์ด ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜์—ฌ ์‹คํ–‰
  3. S3์— ์ƒˆ๋กœ ๋ณ€๊ฒฝ๋œ HTML/CSS/JS๊ฐ€ ๋ฐฐํฌ๋จ
  4. ์‚ฌ์šฉ์ž๋Š” ์ฆ‰์‹œ ๋ณ€๊ฒฝ๋œ ์‚ฌ์ดํŠธ ํ™•์ธ ๊ฐ€๋Šฅ

๐Ÿ’ก ์‹ค๋ฌด์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”

  • ๋นŒ๋“œ ๋‹จ๊ณ„์— CodeBuild๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ React/Vue ์•ฑ ๋นŒ๋“œ
  • ๋ฐฐํฌ๋ฅผ EC2, Lambda, ECS ๋“ฑ์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • ๋ฐฐํฌ ์Šน์ธ ๋‹จ๊ณ„ ์ถ”๊ฐ€๋กœ ๊ด€๋ฆฌ์ž ์Šน์ธ ํ›„ ๋ฐฐํฌ๋˜๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅ
  • CloudWatch ์—ฐ๋™ํ•ด์„œ ์‹คํŒจ ์‹œ ์ž๋™ ์•Œ๋ฆผ ๋ฐ›๊ธฐ

โœจ ๋งˆ๋ฌด๋ฆฌ

CodePipeline์„ ์ด์šฉํ•˜๋ฉด,
๋” ์ด์ƒ ๋งค๋ฒˆ git pull, npm run build, scp ๊ฐ™์€ ์ˆ˜๋™ ์ž‘์—… ์—†์ด๋„
์ฝ”๋“œ ์ปค๋ฐ‹๋งŒ์œผ๋กœ ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋˜๋Š” ์ง„์งœ DevOps ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์–ด์š”.