개발 프로세스에서 가장 중요한 키워드는 자동화입니다.
CI/CD(지속적 통합 / 지속적 배포)는 이제 모든 개발자에게 필수 개념이 되었고, 이를 가장 쉽게 구현할 수 있는 도구 중 하나가 바로 GitHub Actions입니다.
이번 글에서는 GitHub Actions의 핵심 개념과 실제 사용 예시를 빠르게 정리해 드리겠습니다.
GitHub Actions 핵심 개념 5가지
GitHub Actions는 이벤트 기반으로 자동화 작업을 실행하는 도구입니다. 딱 5가지 핵심 개념만 이해하면 충분합니다.
1. Event (이벤트)
– 어떤 상황에서 워크플로우가 실행될지 지정
– 예: push, pull_request, issue 생성 등
2. Workflow (워크플로우)
– 이벤트 발생 시 실행되는 자동화 시나리오(레시피)
– .github/workflows/*.yml 파일에 정의
3. Job (잡)
– 하나의 독립적인 실행 단위
– 여러 잡을 병렬 또는 순차적으로 실행 가능
4. Step (스텝)
– 잡 안에서 실행되는 작은 작업 단위
– 쉘 명령어 실행 또는 액션(Action) 호출
5. Runner (러너)
– 잡이 실행되는 환경 (VM 또는 컨테이너)
– 예: ubuntu-latest, windows-latest, macos-latest
GitHub Actions 기본 동작 방식

1. 특정 이벤트(예: push)가 발생
2. 정의된 Workflow 파일 실행
3. Job 단위로 러너에서 실행
4. Step 단위로 순서대로 실행
5. 결과를 GitHub에서 확인 가능
테스트 실패 시 워크플로우가 중단되고, Pull Request에 바로 표시되므로 코드 품질을 보장할 수 있습니다.
실제 예시 (Node.js 프로젝트 테스트 자동화)
.github/workflows/ci.yml 파일을 생성하고 다음과 같이 작성합니다.
name: Sample CI on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 - name: Install dependencies run: npm install - name: Run tests run: npm test
– push, pull_request 이벤트 발생 시 실행
– Node.js 환경 세팅 후 자동으로 npm install, npm test 수행
– 테스트 실패 시 바로 PR에서 확인 가능
GitHub Actions 장점
– GitHub에 내장되어 있어 추가 인프라 불필요
– 수천 개의 오픈소스 액션을 바로 활용 가능
– 프로젝트에 맞는 CI/CD 파이프라인을 쉽게 구축 가능
– 코드 품질과 배포 자동화로 개발 생산성 극대화
정리
GitHub Actions는 이제 선택이 아닌 필수 도구입니다.
CI/CD 자동화를 통해 개발 효율성과 코드 품질을 동시에 확보할 수 있습니다.
1. Event
2. Workflow
3. Job
4. Step
5. Runner
이 5가지 개념만 이해하면 누구나 GitHub Actions를 바로 활용할 수 있습니다.