개요

GitHub ActionsGitHub에 내장된 CI/CD 및 워크플로 자동화 플랫폼입니다. YAML 기반으로 빌드, 테스트, 배포 파이프라인을 정의하며, GitHub 이벤트(push, PR, issue 등)에 반응하여 자동 실행됩니다. 20,000개 이상의 마켓플레이스 액션으로 확장 가능합니다.

  • 제공: GitHub (Microsoft)
  • 유형: 클라우드 (셀프호스팅 러너 지원)
  • 무료: 퍼블릭 리포 무제한, 프라이빗 2,000분/월

핵심 개념

개념설명
Workflow.github/workflows/*.yml에 정의된 자동화 프로세스
Event워크플로를 트리거하는 이벤트 (push, pull_request, schedule 등)
Job동일 러너에서 실행되는 스텝 그룹
Step개별 작업 단위 (액션 또는 셸 명령)
Action재사용 가능한 작업 단위 (마켓플레이스)
Runner워크플로를 실행하는 서버 (GitHub-hosted / Self-hosted)

워크플로 예시

name: CI Pipeline
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
 
jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: npm test
 
  deploy:
    needs: build-and-test
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./deploy.sh

주요 기능

  • 매트릭스 빌드: 여러 OS/언어 버전 조합으로 병렬 테스트
  • 캐싱: 의존성 캐시로 빌드 속도 향상 (actions/cache)
  • 시크릿 관리: 환경 변수로 민감 정보 안전 관리
  • OIDC: 클라우드 리소스에 토큰 없이 인증
  • Reusable Workflows: 워크플로 재사용 및 공유
  • 환경 보호 규칙: 프로덕션 배포 전 수동 승인

관련 항목