PART 10. CI/CD와 배포 자동화
지금까지 쉘 스크립트로 서버를 관리하고, cron으로 작업을 예약하고, 프로세스를 제어하는 법을 배웠습니다. 이제 마지막 퍼즐 조각이 남았습니다.
내가 만든 코드가 팀 저장소에 올라가는 순간부터 실제 서버에서 실행되기까지 — 그 사이에 무슨 일이 벌어지는지 아시나요? 테스트를 돌리고, 빌드를 하고, 파일을 전송하고, 서비스를 재시작하는 일련의 과정이 있습니다. 그리고 그 모든 과정의 핵심에 쉘 스크립트가 있습니다.
이 PART에서는 CI/CD 파이프라인의 실제 모습을 배웁니다. Git Hook으로 코드 품질을 강제하고, GitHub Actions에서 쉘 스크립트를 활용해 자동화 파이프라인을 구성하고, 무중단 배포 스크립트를 작성하고, Docker 컨테이너에서 쉘 스크립트를 활용하는 방법까지 다룹니다.
현업에서 DevOps 엔지니어가 매일 하는 일입니다. 졸업 후 취업하면 바로 마주치는 코드들입니다.
학습 목표
- Git Hook을 작성해 커밋 시 코드 품질을 자동으로 검사할 수 있습니다.
- commit-msg Hook으로 Conventional Commits 형식을 강제할 수 있습니다.
- GitHub Actions 워크플로우에서 쉘 스크립트를 활용해 CI 파이프라인을 구성할 수 있습니다.
- 멱등성과 롤백을 갖춘 배포 스크립트를 작성할 수 있습니다.
- 환경별 설정을 분리하고 envsubst로 설정 파일을 생성할 수 있습니다.
- Docker entrypoint.sh 패턴을 이해하고 작성할 수 있습니다.
구성
| 장 | 제목 | 주요 내용 |
|---|---|---|
| 01장 | Git과 쉘 스크립트 | pre-commit, commit-msg, 브랜치별 자동 설정 |
| 02장 | CI/CD 파이프라인 | GitHub Actions, 배포 스크립트, 환경 설정, Docker |