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는 테스트, 배포, 빌드 자동화까지
정말 다양하게 활용할 수 있는 멋진 도구입니다.

처음엔 낯설 수 있지만,
작은 자동화부터 하나씩 실습해보면 곧 익숙해져요!

반응형