02장. CI/CD 파이프라인
코드를 푸시하면 자동으로 테스트가 돌고, 테스트가 통과하면 자동으로 서버에 배포됩니다. 이것이 CI/CD입니다.
CI(Continuous Integration, 지속적 통합)는 코드를 자주 병합하고 매번 자동으로 빌드와 테스트를 실행하는 관행입니다. CD(Continuous Delivery/Deployment, 지속적 제공/배포)는 테스트를 통과한 코드를 자동으로 배포 가능한 상태로 만들거나 실제 서버에 배포하는 것입니다.
이 장에서는 GitHub Actions에서 쉘 스크립트를 활용하는 방법, 멱등성과 롤백을 갖춘 배포 스크립트, 환경별 설정 관리, 그리고 Docker entrypoint 패턴까지 배웁니다. 현업에서 DevOps 엔지니어가 매일 다루는 코드입니다.
학습 목표
- GitHub Actions 워크플로우 구조를 이해하고 쉘 스크립트를 연동할 수 있습니다.
- 멱등성과 롤백을 갖춘 배포 스크립트를 작성할 수 있습니다.
- 환경별 설정을 분리하고 envsubst로 설정 파일을 생성할 수 있습니다.
- Docker entrypoint.sh의 표준 패턴을 이해하고 작성할 수 있습니다.
구성
| 절 | 제목 | 주요 내용 |
|---|---|---|
| 01 | GitHub Actions에서 쉘 스크립트 활용 | 워크플로우, 인라인/외부 스크립트, 매트릭스 빌드 |
| 02 | 배포 스크립트 작성 | 멱등성, 원자적 배포, 롤백, 헬스 체크 |
| 03 | 환경별 설정 관리 | .env 분리, envsubst, 시크릿 관리 |
| 04 | Docker와 쉘 스크립트 | entrypoint.sh, wait-for-it, exec "$@" |