GitHub Actions와 Argo CD 기반 CI/CD 도전기
Introduction
- CI/CD
- CI (Continuous Integration)
- 개발자들이 자주 (일반적으로 하루에 여러 번) 자신의 코드 변경 사항을 메인 브랜치에 통합하는 프로세스
- 이는 코드의 통합 문제를 조기에 견하고 해결하는 데 도움이 됩니다.
- CD (Continuous Deployment/Delivery)
- 자동화된 테스트를 통과한 모든 코드 변경 사항이 자동으로 프로덕션 환경에 배포되는 프로세스 (Continuous Deployment) 또는 프로덕션 환경에 배포될 준비가 되면 수동으로 배포될 수 있게 하는 프로세스 (Continuous Delivery).
- CI (Continuous Integration)
- GitHub Actions: GitHub에서 제공하는 CI/CD 플랫폼
- Workflow를
.yml
또는.yaml
파일로 정의하여 코드의 빌드, 테스트, 배포 등 다양한 자동화 작업 수행
- Workflow를
- Argo CD: Kubernetes를 위한 선언적, GitOps 연속 배포 도구
- Git 저장소에 정의된 Kubernetes 명세를 cluster와 동기화하는 데 사용
- Application의 배포 상태, 구성 차이 및 동기화 상태 시각화 대시보드 제공
이러한 GitHub Actions와 Argo CD를 통해 아래와 같은 CI/CD를 도전해본다.