ACTIVE INCIDENT
00:00 elapsed
LABLAB-INFRA-06-GITHUB-ACTIONSSEV-3
GitHub Actions — CI 파이프라인 구축
ELAPSED
00:00
PHASE
0 / 5
SLA
30분
⚙️ Infra-Ops
← 목록
INCIDENT RESPONSE
0 / 6 단계 완료
📚 PREREQUISITES
Lablinux-server-first-look
TRACK
INFRA-OPS
SLA
30분
SEV
SEV-3
PHASES
4단계
ENV
local
INCOMING TICKET
팀장 슬랙: "이번 분기에 CI/CD를 Jenkins에서 GitHub Actions로 전환합니다. 기본 파이프라인부터 만들어주세요. 팀원 4명이 하루 평균 45분을 수동 빌드/배포에 소비 중이고, 지난달 핫픽스 배포 실수로 롤백 SLA 30분 초과했어요."
YOUR ROLE
주니어 인프라 엔지니어
IMPACT IF UNRESOLVED
팀원 4명이 하루 평균 45분을 수동 빌드/배포에 소비 중. CI 미구성 상태에서 핫픽스 배포 실수 발생 시 롤백 SLA 30분 초과. 수동 프로세스 오류율 15% 수준
🚨INCIDENT BRIEF
팀 회의에서 팀장이 발표합니다.
"Jenkins 서버 유지비용이 너무 높습니다. GitHub Actions로 전환할 텐데, 기본 CI 파이프라인을 먼저 만들어주세요. push할 때마다 빌드랑 테스트가 자동으로 돌아야 해요."
Jenkins는 별도 서버를 운영해야 하고, 플러그인 관리와 보안 패치도 직접 해야 합니다. GitHub Actions는 GitHub 저장소에 .yaml 파일 하나를 추가하면 됩니다. 서버 없이, 코드와 함께 버전 관리되며, GitHub 생태계와 완벽하게 통합됩니다.
Actions 파이프라인의 핵심 개념 세 가지를 이해해야 합니다.
- Workflow: .github/workflows/ 아래 YAML 파일 하나. 이벤트(push, PR 등)에 반응해 실행됩니다.
- Job: 병렬 실행 단위. 각 Job은 독립된 가상 머신(ubuntu-latest 등)에서 실행됩니다.
- Step: Job 안의 순차 실행 단계. shell 명령이거나 uses: actions/checkout@v4 같은 외부 액션입니다.
이 Lab에서는 push와 PR 이벤트에 반응해 빌드와 테스트를 자동 실행하는 CI 파이프라인을 처음부터 작성합니다.
⏱ 30분📊 입문🔧 4단계#infra-ops#github-actions#ci-cd#pipeline
MISSION
1
.github/workflows/ci.yml — push/PR 트리거 작성
.github/workflows/ci.yml 파일을 생성하고 main 브랜치 push와 PR 이벤트에 트리거되도록 설정한다
2
빌드 + 테스트 단계 — npm ci && npm test
jobs 블록에 Node.js 환경 설정, 의존성 설치(npm ci), 테스트 실행(npm test) 단계를 추가한다
3
아티팩트 업로드 — actions/upload-artifact
npm test 이후 생성된 커버리지 리포트 또는 빌드 결과물을 upload-artifact 액션으로 저장한다
4
시크릿 설정 — ${{ secrets.API_KEY }} 참조
GitHub 저장소 시크릿을 설정하고 워크플로우에서 환경변수로 참조하는 방법을 이해한다
📌 선수 지식
• [실습] linux-server-first-look
ℹ️ 실습 환경
환경: local
필요 도구: git, node, npm
검증 스크립트: /labs/lab-infra-06-github-actions/scripts/verify.sh
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →
>_ LAB TERMINAL↔ 너비 조절
NOTES