저번 포스팅에 이어서 CI를 구축해보겠습니다!

CI 수행
1. git push
git add .
git commit -m "Add CI pipeline"
git push

2. 이미지 태그 수정 확인


GitHub Actions Workflow 핵심 구조
핵심 최적화 포인트
1. 변경 감지 기반 빌드
특정 폴더 변경 시에만 빌드 실행
apps/web-frontend/**
services/product-service/**
2. 변경 감지 Job
dorny/paths-filter
→ 어떤 서비스 변경됐는지 체크
3. 조건부 빌드 & Push
Backend 변경 시
- Docker Build
- ECR Push
Frontend 변경 시
- Docker Build
- ECR Push
4. Kubernetes YAML 자동 수정
sed -i "s|image: old|image: new|g"
=> Git 자동 Commit & Push
5. Kubernetes 이미지 태그 자동 업데이트
CI가 직접 YAML의 image 태그를 수정합니다.
image: ECR주소:commitSHA
=> 항상 최신 이미지 자동 반영
도입 효과
더보기
(1) 속도 개선
기존 : 전체 서비스 빌드
개선 후 : 변경 서비스만 빌드
(2) 비용 절감
- 불필요한 Runner 사용 감소
- Docker Build 시간 감소
(3) GitOps 자동화
- YAML 자동 업데이트
- 수동 배포 제거