Community코딩 & 개발github.com

bentoms-dev/github-actions-cicd-engineer

GitHub Actions를 사용하여 빠르고 안전하며 유지보수 가능한 CI/CD 파이프라인을 구축합니다. 워크플로우 생성 또는 수정, 느린 CI 최적화, 캐싱 및 매트릭스 추가, 배포, 시크릿 및 환경 관리, 공급망 공격 대비 워크플로우 강화, 릴리스 및 프리뷰 배포 설정 시 사용하세요.

github-actions-cicd-engineer란 무엇인가요?

이 스킬은 GitHub Actions CI/CD 엔지니어 역할을 수행하며, 개발자가 기다리지 않을 만큼 빠르고, 문제를 잡아낼 만큼 엄격하며, 레포지토리를 손상시키는 데 악용될 수 없도록 잠긴 파이프라인을 구축하는 데 특화되어 있습니다. PR, 메인 병합, 릴리스 등 다양한 트리거에 대한 파이프라인 모양을 제시하고, 의존성 캐싱, 테스트 샤딩, 병렬 실행, 타임아웃 설정 등 속도 최적화 방법을 상세히 설명합니다. 보안 강화 측면에서는 최소 권한 부여, 서드파티 액션 SHA 고정, pull_request_target 사용 금지, 스크립트 인젝션 방지, OIDC 사용, 환경별 시크릿 관리, Dependabot 활성화 등을 강조합니다. 또한 환경 기반 배포, 롤백 가능한 배포, 데이터베이스 마이그레이션, 프리뷰 배포, 스모크 테스트 등 안정적인 배포 전략을 다루며, 복합 액션이나 재사용 가능 워크플로우를 통한 유지보수성 향상, 커밋 컨벤션 기반 자동 버전 관리와 증명이 있는 패키지 게시 방법을 제공합니다. 사용자는 이 스킬을 통해 GitHub Actions 워크플로우를 안전하고 효율적으로 설계하고 관리할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bentoms-dev/skills/tree/HEAD/skills/engineering/github-actions-cicd-engineer

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

GitHub Actions CI/CD 엔지니어

개발자가 기다리지 않을 만큼 빠르고, 문제를 잡아낼 만큼 엄격하며, 레포지토리를 손상시키는 데 악용될 수 없도록 잠긴 파이프라인을 구축합니다.

파이프라인 모양

  • 풀 리퀘스트 시: 설치, 린트, 타입 검사, 단위 및 통합 테스트, 빌드. 독립적인 작업은 병렬로 실행합니다.
  • 메인 브랜치 병합 시: 동일한 검사를 수행한 후 아티팩트를 한 번 빌드하고 스테이징에 동일한 아티팩트를 배포한 다음 프로덕션에 배포합니다.
  • 빠른 실패: 가장 저렴한 검사를 먼저 실행하거나 비싼 검사와 병렬로 실행합니다.
  • 동일한 브랜치에서 대체된 실행을 취소하려면 concurrency를 사용하세요:
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.event_name == 'pull_request' }}
  • 문서 변경만 있는 경우 경량 작업을 건너뛰도록 경로 필터를 사용하되, 필수 검사를 만족시킬 수 있도록 유지하세요 (항상 실행되는 경량 작업이나 조건부 단계를 사용).

속도

  • 설정 액션의 내장 캐시(actions/setup-node의 cache: npm, setup-python의 cache: pip)를 사용하여 종속성을 캐시하고, 잠금 파일을 키로 사용하여 빌드 출력물(Next.js .next/cache, Turborepo, Gradle)을 캐시하세요.
  • 재현 가능한 설치를 위해 npm ci(또는 이에 상응하는 frozen-lockfile 설치)를 사용하세요.
  • 느린 테스트 스위트를 매트릭스로 분할하세요. 엔드 투 엔드 테스트는 빌드된 앱에 대해서만 실행하세요.
  • 모든 결과가 필요할 때는 매트릭스에 fail-fast: false를 사용하고, 실패 여부만 알면 될 때는 true를 사용하세요.
  • 모든 작업에 timeout-minutes를 설정하여 중단된 실행이 시간을 소모하지 않도록 하세요.

보안 강화

  • 모든 워크플로우 상단에 최소 권한을 설정하고 필요한 경우에만 작업별로 확장하세요:
permissions:
  contents: read
  • 서드파티 액션을 전체 커밋 SHA로 고정하고, 버전을 주석으로 남기세요(uses: owner/action@<sha> # v4.2.0). Dependabot 또는 Renovate가 업데이트하도록 하세요.
  • pull_request_target 또는 workflow_run을 사용하여 시크릿이 있는 신뢰할 수 없는 PR 코드를 체크아웃하거나 실행하지 마세요. 포크된 PR은 시크릿이나 쓰기 토큰을 받지 않아야 합니다.
  • 스크립트 인젝션 방지: 신뢰할 수 없는 컨텍스트(github.event.pull_request.title, 이슈 본문, 브랜치 이름)를 run:에 직접 보간하지 마세요. env:를 통해 전달하고 변수를 인용 처리하세요.
  • 장기 키를 시크릿으로 저장하는 대신 OIDC(id-token: write)를 사용하여 단기 클라우드 자격 증명을 얻으세요.
  • 배포 시크릿은 리포지토리 전체 시크릿이 아닌 환경에 필수 검토자 및 브랜치 보호와 함께 배치하세요.
  • 시크릿을 에코하지 마세요. set -x 및 디버그 로깅에 주의하세요.
  • npm 및 GitHub Actions에 대해 Dependabot을 활성화하고, 종속성 감사 또는 코드 스캐닝 작업을 실행하세요.

배포

  • 보호 규칙 및 URL이 있는 환경(staging, production)을 통해 배포하세요.
  • 배포를 멱등적으로 만들고 롤백 가능하게 만드세요 (이전 아티팩트 또는 태그 재배포).
  • 데이터베이스 마이그레이션을 현재 실행 중인 버전과 역호환되는 별개의 순서가 있는 단계로 실행하세요.
  • 플랫폼에서 지원하는 경우 PR당 프리뷰 배포를 사용하고 PR에 URL을 댓글로 남기세요.
  • 배포된 URL에 대해 스모크 테스트를 실행하고 실패하면 작업을 실패 처리하세요.

유지보수성

  • 반복되는 설정을 복합 액션 또는 재사용 가능한 워크플로우(workflow_call)로 추출하세요.
  • 작업 및 단계 이름을 명확하게 지정하세요. 필수 상태 검사는 작업 이름에 의존하므로 신중하게 이름을 변경하세요.
  • 재현성이 자동 업그레이드보다 중요할 때는 러너 이미지를 고정하세요(ubuntu-24.04).
  • actionlint를 사용하여 워크플로우 파일을 검증하세요.

릴리스

  • 컨벤셔널 커밋(예: release-please 또는 changesets)에서 버전 관리 및 체인지로그를 자동화하세요.
  • 지원되는 경우 OIDC를 사용하여 증명이 있는 패키지를 게시하세요(npm publish --provenance).

출력

파이프라인(트리거, 작업, 작업 간 종속성), 예상 실행 시간(전후), 부여된 권한 및 이유, 필요한 시크릿 및 환경, 리포지토리 설정(브랜치 보호, 필수 검사, 환경)에서 필요한 수동 설정을 설명하세요.


더 깊이 알아보기: Security Audit Pro 및 Observability & Incident Response는 연결된 스킬, 프로덕션 템플릿, 스크립트 및 평가 프롬프트가 포함된 프리미엄 스킬 팩입니다.

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

bentoms-dev/ai-feature-engineer

Build reliable, safe and affordable LLM-powered features in real products. Use when adding chat, summarisation, extraction, classification, RAG search, tool calling or agents to an app, when writing prompts or evals, choosing models, controlling cost and latency, or defending against prompt injection.

bentoms-dev/docs-readme-writer

Write developer documentation people actually read and trust. Use when creating or improving a README, getting-started guide, API reference, architecture decision record (ADR), runbook, onboarding guide, changelog or contributing guide, or when docs are outdated, confusing or missing.

bentoms-dev/postgres-migrations-engineer

Design PostgreSQL schemas, write zero-downtime migrations and fix slow queries. Use when adding tables, columns, indexes or constraints, changing data on a live database, reviewing a migration for locking risks, reading EXPLAIN ANALYZE output, or working with Prisma, Drizzle, Knex, TypeORM, Rails or Django migrations.

bentoms-dev/shopify-theme-architect

Build, refactor and review Shopify Online Store 2.0 themes. Use when creating or editing Liquid sections, blocks, snippets, templates, theme settings, locales, or theme CSS/JS, and when reviewing a theme for performance, accessibility or merchant editability.

bentoms-dev/test-engineer

Write tests that catch real bugs and survive refactors. Use when adding tests to new or existing code, choosing between unit, integration and end-to-end tests, fixing flaky tests, setting up Vitest, Jest or Playwright, or reviewing a test suite for gaps and brittleness.

관련 스킬