Skip to content

๐ŸŒ Deploy - Docker์™€ Git Actions๋ฅผ ํ†ตํ•ด CI/CD Pipeline์„ ๊ตฌ์„ฑํ•œ๋‹คย #11

@leeeunda

Description

@leeeunda

๐Ÿ› ๏ธ Issue Description

  • BlockCloud Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Docker + GitHub Actions๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ํ™”๋œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ญ How to deploy

  1. GitHub Secrets ์„ค์ •
    • DOCKER_USERNAME, DOCKER_PASSWORD โ†’ Docker Hub ๊ณ„์ • ์ •๋ณด
    • EC2_HOST, EC2_USER, EC2_SSH_KEY โ†’ EC2 ์ ‘์† ์ •๋ณด
  2. ๋ธŒ๋žœ์น˜ ํ‘ธ์‹œ
    • develop โ†’ ๋นŒ๋“œ & Docker Hub ํ‘ธ์‹œ
    • main โ†’ ๋นŒ๋“œ & Docker Hub ํ‘ธ์‹œ & EC2 ๋ฐฐํฌ
  3. EC2 ๋ฐฐํฌ ํ๋ฆ„
    • ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ stop & remove
    • Docker Hub์—์„œ ์ตœ์‹  ์ด๋ฏธ์ง€ pull
    • ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ (-p 127.0.0.1:8080:8080, .env ์ ์šฉ)
    • actuator /actuator/health๋กœ Health Check (20ํšŒ ์‹œ๋„)
  4. ๋ฐฐํฌ ์™„๋ฃŒ ํ›„
    • Nginx ๋˜๋Š” ํ”„๋ก์‹œ์—์„œ ํŠธ๋ž˜ํ”ฝ ์ „ํ™˜ (ํ•„์š”์‹œ)
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ ํ™•์ธ (docker logs -f blockcloud-app)

๐Ÿ“ check-lists

  • EC2 & RDS ์ƒ์„ฑ ๋ฐ ์—ฐ๊ฒฐ
  • ๋„๋ฉ”์ธ ๋ฐ SSL ์„ค์ •
  • Docker ๊ธฐ๋ฐ˜ ๋ฐฐํฌ ํŒŒ์ผ ์ž‘์„ฑ
  • GitHub Actions Secrets ๊ฐ’ ์ตœ์‹ ํ™”
  • Spring actuator /actuator/health ์‘๋‹ต ํ™•์ธ
  • Docker Hub ์ด๋ฏธ์ง€ ํƒœ๊ทธ ํ™•์ธ (latest, ${GITHUB_SHA}, ${BRANCH_NAME})
  • EC2 ์ปจํ…Œ์ด๋„ˆ ์ •์ƒ ์‹คํ–‰ ์—ฌ๋ถ€ ํ™•์ธ

๐Ÿ“Œ ์ถ”ํ›„ ๊ฐœ์„ ํ•  ์ 

  • JaCoCo Test ์ปค๋ฒ„๋ฆฌ์ง€ ์ถ”๊ฐ€
  • Deploy ์†๋„ ๊ฐœ์„ 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions