GitHub 완전 정복 8편 — GitHub Actions와 브랜치 보호 규칙
워크플로·잡·스텝의 기본 구조와 매트릭스 빌드·시크릿·잡 의존성, Next.js 배포 워크플로 예시와 액션 보안 주의사항, 그리고 Rulesets·필수 리뷰·필수 상태 체크·force push 차단·CODEOWNERS로 위험한 명령을 조직 차원에서 막는 방법을 다룹니다.
blog92@web:~$ grep -rl "#CI/CD" posts/
이 태그가 달린 글
워크플로·잡·스텝의 기본 구조와 매트릭스 빌드·시크릿·잡 의존성, Next.js 배포 워크플로 예시와 액션 보안 주의사항, 그리고 Rulesets·필수 리뷰·필수 상태 체크·force push 차단·CODEOWNERS로 위험한 명령을 조직 차원에서 막는 방법을 다룹니다.
"그래서 우리 팀의 전달 능력이 실제로 좋아졌는가"에 답하기 위한 DORA 네 지표의 정의와 수집 방법, 지표를 잘못 쓰는 방식, 파이프라인 자체의 건강 지표, 성숙도 로드맵과 최종 체크리스트로 시리즈를 마무리합니다.
배포에 필요한 Kubernetes 리소스만 추린 뒤, Git을 운영 상태의 원천으로 삼는 GitOps를 다룹니다. Push와 Pull 배포의 차이, 앱 저장소와 설정 저장소 분리, Argo CD Application, GitOps에서의 비밀값과 마이그레이션 순서를 정리합니다.
인터넷과 분리된 폐쇄망에서는 hosted runner도 npm 레지스트리도 Docker Hub도 없습니다. 반입 횟수와 크기를 줄이는 것을 목표로 내부망 구성 요소, 이미지·의존성 반입, 폐쇄망용 Dockerfile, 내부 CI와 배포 번들 방식을 설계합니다.
"README 하나 고쳤는데 왜 전체가 빌드되지?"와 "같은 워크플로를 복사해 붙여 넣는 문제"를 함께 풉니다. 변경 영향 분석과 paths-filter, Composite Action과 Reusable Workflow의 차이, 조직 단위 표준화를 다룹니다.
의존성·베이스 이미지·서드파티 액션까지 모두 공급망입니다. 액션 고정과 의존성 관리 자동화, 코드·비밀값 스캔, 컨테이너 이미지 스캔, SBOM 생성, 이미지 서명과 검증, SLSA 프레임워크를 파이프라인에 심습니다.
Recreate·Rolling·Blue-Green·Canary·기능 플래그를 비교하고 단일 서버 Blue-Green을 직접 구현합니다. 롤백의 세 가지 방식과, 구·신 버전이 공존하는 시간을 전제로 한 Expand-Contract DB 마이그레이션까지 설계합니다.
파이프라인은 조직에서 가장 강력한 자동화 주체입니다. 비밀값의 올바른 위치, GitHub 시크릿과 변수, Environments 승인, GITHUB_TOKEN 최소 권한, 스크립트 인젝션과 포크 PR, 그리고 장기 자격 증명을 없애는 OIDC를 다룹니다.
레지스트리에 올린 이미지를 서버에서 실행시키는 CD 단계를 만듭니다. Push와 Pull 방식을 비교하고, SSH + Docker Compose 배포 스크립트와 워크플로, 플랫폼 배포, PR 미리보기 환경, 릴리스 자동화를 구성합니다.
Build Once Deploy Many를 컨테이너 이미지로 구현합니다. Next.js standalone 멀티스테이지 빌드, 빌드 시점 환경변수 문제, 태깅 전략과 digest, 레지스트리 선택, 멀티 플랫폼 빌드를 다룹니다.
느린 CI는 결국 무시당합니다. 어디서 시간이 새는지 측정하고 캐시의 원리, job 병렬화, 매트릭스 빌드, concurrency 동시성 제어, 실행 자체를 건너뛰는 기법까지 적용합니다.
정적 분석부터 E2E까지 테스트를 파이프라인 어디에 둘지 설계하고, 서비스 컨테이너로 실제 DB 통합 테스트를 돌리고, 불안정한 테스트를 다루며 브랜치 보호 규칙으로 머지 게이트를 만듭니다.
Workflow·Event·Job·Step·Action의 구성 요소부터 트리거와 표현식·컨텍스트, Next.js 첫 CI 워크플로 작성, job 분리와 아티팩트 전달, Runner 이해와 디버깅까지 다룹니다.
통합 지옥과 "내 PC에서는 되는데요"에서 출발해 CI·Continuous Delivery·Deployment를 구분하고, 파이프라인의 해부와 Build Once Deploy Many 같은 핵심 원칙, 도구 지형도까지 정리합니다.
CI와 CD의 구분, GitHub Actions 워크플로 구조, 이미지 빌드와 푸시, 시크릿과 OIDC, 블루/그린과 롤링 배포, 롤백과 expand-contract DB 마이그레이션까지 — 배포를 사람 손에서 파이프라인으로 옮기는 법.
Deployment Pipeline과 Build Once Deploy Many, latest 태그가 검증을 무력화하는 이유, Twelve-Factor 설정 분리와 시크릿 관리, Pipeline as Code·GitOps·Shift-Left.
혼돈의 벽과 변경을 막을수록 위험해지는 악순환, 2009년 DevOpsDays가 만든 전환점, 그리고 이후 모든 패턴을 판별할 세 가지 질문(재현성·변경 단위·피드백).