WEB & WEBAPP
CI/CD (GitHub Actions)
코드를 Push하는 순간부터 사용자에게 새 버전이 서비스되기까지, 빌드·테스트·배포가 자동으로 이어지는 흐름을 직접 구성하는 훈련입니다. 아래 파이프라인을 직접 재생해보며 각 단계가 실패하면 무슨 일이 일어나는지부터 감을 잡아보세요.
파이프라인 미리보기
재생 버튼을 누르거나 다음 단계 버튼으로 파이프라인을 시작하세요.
1 / 1
전체 12건
1. OT
수동 배포의 문제점을 짚고 CI/CD 파이프라인 전체 개요와 12주 로드맵을 확인합니다
매번 손으로 빌드·테스트·서버 접속·파일 복사를 반복하다 실수로 잘못된 버전을 배포하는 사고 사례를 살펴보고, 이 모든 과정을 코드로 정의해 자동화하는 CI(지속적 통합)/CD(지속적 배포)의 큰 그림을 먼저 그립니다.
2. Git 브랜치 전략
main/develop/feature 브랜치 흐름과 PR 기반 협업 방식을 익힙니다
기능마다 별도 브랜치를 파서 작업하고 Pull Request로 리뷰를 거쳐 main에 병합하는 흐름을 직접 실습하며, 어떤 브랜치에 코드가 들어가느냐가 이후 배포 파이프라인의 트리거 조건이 된다는 것을 이해합니다.
3. GitHub Actions 기초 문법 (workflow / job / step)
이벤트가 파이프라인을 트리거하는 구조와 YAML 문법의 기본 단위를 익힙니다
push나 PR 같은 이벤트가 workflow를 트리거하고, workflow 안의 job들이 step 단위로 순서대로 실행되는 계층 구조를 직접 YAML로 작성하며 확인합니다.
4. 자동 빌드와 테스트 파이프라인
push할 때마다 빌드·테스트가 자동으로 실행되는 흐름을 직접 구성합니다
코드를 Push할 때마다 자동으로 의존성을 설치하고 빌드·테스트가 실행되도록 워크플로를 구성하고, 테스트가 실패하면 PR 병합 자체를 막는 상태 체크(status check)를 연결해봅니다.
5. 아티팩트와 캐싱
빌드 결과물을 다음 단계로 전달하고 반복 설치를 줄여 파이프라인 속도를 높입니다
Build job에서 만든 결과물을 Deploy job이 다시 받아 쓰도록 아티팩트로 전달하는 방법과, 매번 처음부터 의존성을 설치하지 않도록 캐시를 재사용해 파이프라인 실행 시간을 단축하는 설정을 실습합니다.
6. 자동 배포 (CD)
테스트를 통과하면 서버로 자동 배포되는 흐름을 구성합니다
Test job이 성공했을 때만 Deploy job이 실행되도록 job 간 의존 관계(needs)를 설정하고, SSH나 클라우드 CLI로 실제 서버에 새 코드를 반영하는 배포 스텝을 작성합니다.
7. 환경별 배포 전략 (dev / staging / prod)
브랜치·태그에 따라 서로 다른 환경으로 배포되도록 분기합니다
develop 브랜치는 개발 서버로, main 브랜치는 운영 서버로 자동 배포되도록 조건을 분기하고, 각 환경마다 다른 환경변수·시크릿을 안전하게 주입하는 방법을 다룹니다.
8. 무중단 배포와 롤백
배포 중 서비스가 끊기지 않게 하는 전략과, 실패 시 되돌리는 방법을 다룹니다
새 버전과 이전 버전을 동시에 띄워둔 채 트래픽을 서서히 옮기는 방식으로 서비스 중단 없이 배포하는 개념을 다루고, 배포 직후 문제가 발견됐을 때 이전 버전으로 즉시 되돌리는 롤백 스텝을 파이프라인에 준비해둡니다.
9. 시크릿과 배포 권한 관리
CI 환경에서 민감 정보를 안전하게 다루는 방법을 익힙니다
배포에 필요한 서버 키·API 토큰을 워크플로 파일에 직접 적지 않고 저장소의 암호화된 Secrets에 등록해 참조하는 방법을 익히고, 어떤 브랜치·환경에서만 배포 권한을 허용할지 접근 범위를 좁히는 원칙을 다룹니다.
10. 알림과 배포 가시성
배포 성공·실패를 팀에 실시간으로 공유하는 흐름을 구성합니다
파이프라인이 끝났을 때 Slack이나 이메일로 성공·실패 결과를 자동으로 알리는 스텝을 추가해, 배포가 "조용히" 일어나지 않고 팀 전체가 항상 현재 배포 상태를 알 수 있도록 가시성을 확보합니다.
11. 파이프라인 최적화
병렬 실행과 캐시 전략으로 빌드 시간을 단축합니다
서로 의존하지 않는 job(예: 린트와 유닛 테스트)을 병렬로 실행해 전체 파이프라인 시간을 줄이고, 어떤 캐시 전략이 가장 효과적인지 실제 실행 시간을 비교하며 최적화 감각을 기릅니다.
12. 미니 프로젝트
지금까지 만든 프로젝트에 실제로 자동 빌드·테스트·배포 파이프라인을 연결합니다
12주 동안 배운 브랜치 전략·자동 테스트·환경별 배포·롤백을 하나로 엮어, 직접 만든 프로젝트에 Push 한 번으로 빌드부터 배포까지 이어지는 실제 파이프라인을 처음부터 구축합니다.