GitHub Actions는 GitHub에 내장된 CI/CD 및 자동화 플랫폼이다. 코드 저장소에서 직접 워크플로를 정의하고, 이벤트(push, PR, 스케줄)에 반응해 작업을 자동 실행한다.
핵심 개념
| 개념 | 설명 |
|---|
| Workflow | 자동화 프로세스 정의 (.yml 파일) |
| Event | 워크플로를 트리거하는 이벤트 (push, PR) |
| Job | 동일한 Runner에서 실행되는 단계 모음 |
| Step | 개별 작업 단위 (Action 또는 shell 명령) |
| Runner | 워크플로를 실행하는 서버 (GitHub-hosted) |
기본 워크플로 예시
yaml
# .github/workflows/ci.yml
name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Dependencies
run: npm ci
- name: Run Tests
run: npm test
- name: Build Docker Image
run: docker build -t my-app:latest .
- name: Deploy to Production
if: github.ref == 'refs/heads/main'
run: |
echo "Deploying to production..."
# kubectl apply -f k8s/
관련 개념
- •CI/CD — GitHub Actions가 구현하는 방법론
- •Docker — Actions에서 이미지 빌드
- •Git — Actions의 트리거 기반
참고문헌
- •GitHub Actions 공식 문서: docs.github.com/actions