C.W.K.
Stream
Lesson 13 of 13 · published

이상적 CI 설정

~14 min · ideal, checklist, synthesis

Level 0Apprentice
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

피파가 오늘 처음부터 짓는다면

2026 프로젝트의 이상화된 CI/CD 설정 — 작은 팀, 실제 사용자, 적당한 스케일. 조립; 한 번에 다 만들지 마.

Repo level baseline

  • Main 의 branch protection: required CI green, strict status check, merge queue, force push 없음, 실용적이면 signed commit.
  • Secret scanning + push protection 활성화.
  • Dependabot 알림 + 패치는 자동 merge 인 버전 업데이트.
  • 주간 일정의 CodeQL.

Workflow 라이브러리

  • ci.yml — format → lint → type-check → unit → integration. 모든 PR. permissions: read, concurrency cancel-in-progress, docs paths-ignore.
  • release.yml — tag push 시 빌드, sign, 게시, GitHub Release 생성.
  • deploy-staging.yml — main merge 시 staging environment 에 deploy, smoke test.
  • deploy-prod.yml — version input 가진 workflow_dispatch 시, required reviewer + branch policy 가진 prod environment.
  • nightly.yml — full test matrix, dependency audit, base image rebuild. workflow_dispatch 와 짝.
  • codeql.yml + dependabot-auto-merge.yml — 보안 인프라.

Auth & secret

  • Cloud auth 는 OIDC. 장기 key 없음.
  • Org level GITHUB_TOKEN default = restricted.
  • Workflow 별 명시적 permissions:.
  • Third-party action SHA-pin.
  • Secret rotation runbook + 분기 드릴.

Observability

  • 핵심 metric 가진 step summary.
  • Deploy 에 Slack 알림 (성공 + 실패).
  • CI health (pass rate, p95 duration, flake rate) 게시하는 주간 digest job.

AI/ML 서비스라면 추가로

  • baseline-as-release-asset 의 eval gate workflow.
  • 헤비 컴퓨트 (MLX 위한 Apple Silicon, 학습 위한 GPU 박스) 위한 self-hosted runner.
  • 학습 pipeline 이 push 하는 model registry.
  • API contract test (mock brain) + eval test (실제 brain) 별도 job.

진짜 가치

이거 어느 것도 특이하지 않아. 각 조각이 어느 quest 에 있어. Discipline 은 첫 사건이 빠진 거 상기시킨 후 끼워 넣는 게 아니라 새 프로젝트에 첫 날부터 다 갖고 있는 것.

Code

Day-zero workflow 세트 — 정리·bash
# What ships in .github/workflows/ on day 1 of a new project
ls .github/workflows/
# ci.yml
# release.yml
# deploy-staging.yml
# deploy-prod.yml
# nightly.yml
# codeql.yml
# dependabot-auto-merge.yml

# What's in repo Settings the same day:
# - Branch protection on main
# - Secret scanning + push protection
# - Dependabot alerts + updates
# - GITHUB_TOKEN org default: restricted

External links

Exercise

다음 시작할 프로젝트의 day-one CI/CD 설정 작성. 아직 실제로 뭐 짓지 마 — workflow, 설정, secret, environment, 알림 리스트만 작성. 목표는 필요하기 전 blueprint 아는 거.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.