Git
GitHub Actions 완전 기초! 자동화부터 배포까지 한눈에 배우기
jonbeo
2025. 7. 15. 09:54
반응형
코드를 푸시했을 때 자동으로 테스트가 실행되고,
코드 리뷰 후 자동으로 배포까지 된다면…?
그걸 가능하게 해주는 도구가 바로 GitHub Actions입니다!
이번 글에서는
- GitHub Actions가 무엇인지
- 초보자가 바로 써볼 수 있는 실습 예제
- 기본 구조와 자주 쓰는 활용법
을 한 번에 정리해보겠습니다 😊
✅ GitHub Actions란?
GitHub 저장소에서 CI/CD 자동화를 가능하게 해주는 기능입니다.
코드가 푸시되었을 때, PR이 열렸을 때, 매일 정해진 시간에 등 다양한 트리거로
자동으로 테스트, 빌드, 배포, 알림 등을 처리할 수 있어요.
🧱 GitHub Actions 구조 이해하기
Workflow
- 하나의 자동화 작업 전체를 정의하는 단위
- .github/workflows 폴더에 .yml 파일로 저장됨
주요 구성 요소
요소 | 설명 |
name | 워크플로우 이름 |
on | 트리거 조건 (push, pull_request, schedule 등) |
jobs | 실행 단위 그룹 |
steps | 명령어 실행 단계 |
runs-on | 실행 환경 (예: ubuntu-latest) |
✅ 예제 1: 커밋마다 테스트 자동 실행
# .github/workflows/node-test.yml
name: Node.js 테스트 자동 실행
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Node.js 설치
uses: actions/setup-node@v3
with:
node-version: '18'
- name: 의존성 설치
run: npm install
- name: 테스트 실행
run: npm test
✅ 예제 2: 정적 페이지 자동 배포 (예: React + GitHub Pages)
name: Deploy React to GitHub Pages
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm install
- run: npm run build
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
→ 이 설정을 하면 main 브랜치에 푸시할 때마다 자동으로 build 폴더가 GitHub Pages에 배포됩니다!
✅ GitHub Secrets로 환경 변수 숨기기
- Settings → Secrets에서 환경변수 추가 가능
- 예: API_KEY, DATABASE_URL 등 민감한 정보
with:
api_key: ${{ secrets.MY_API_KEY }}
🧠 자주 쓰는 트리거 정리
트리거 | 설명 |
push | 브랜치에 푸시할 때 실행 |
pull_request | PR이 열릴 때 실행 |
schedule | 매일/매주 정해진 시간에 실행 (cron) |
workflow_dispatch | 수동 실행 버튼 제공 |
✅ 마무리하며
GitHub Actions는 테스트, 배포, 빌드 자동화까지
정말 다양하게 활용할 수 있는 멋진 도구입니다.
처음엔 낯설 수 있지만,
작은 자동화부터 하나씩 실습해보면 곧 익숙해져요!
반응형