IT 개발2026-06-27

깃허브 액션 사용법, CI/CD와 무료 한도

깃허브 액션 사용법을 익혀 테스트와 배포를 자동화하려면 무엇부터 준비해야 할까요? YAML의 on·jobs·steps 구조, 잡 간 연결, 무료 사용 한도와 Secrets 관리법을 정리합니다.

깃허브 액션 사용법, CI/CD와 무료 한도 대표 썸네일

안녕하세요. 사랑받는 IT 프로덕트의 첫걸음, 똑똑한개발자입니다.

오늘의 인사이트 요약

  1. 깃허브 액션이란 저장소 이벤트에 맞춰 작업을 자동 실행하는 GitHub 기능으로, CI/CD를 저장소 안에서 돌립니다.

  2. 깃허브 액션 사용법의 뼈대는 .github/workflows의 YAML 파일과 on·jobs·steps입니다.

  3. 깃허브 액션 무료 범위는 공개 저장소 표준 러너와 비공개 저장소 월 2,000분(Free)이고, 키는 Secrets에 둡니다.


깃허브 액션은 저장소의 이벤트에 맞춰 테스트·빌드·배포 작업을 자동으로 실행하는 기능입니다. 워크플로를 YAML 파일로 작성하고 실행 결과는 Actions 탭에서 확인합니다. 오늘은 깃허브 액션 사용법을 첫 테스트부터 배포 조건, 무료 한도와 Secrets 관리까지 알아보겠습니다.

깃허브 액션이란, 그리고 CI/CD란 무엇일까

깃허브 액션 사용법 - 깃허브 액션이란, 푸시부터 CI/CD 배포까지 흐름도

CI는 코드를 합칠 때마다 빌드와 테스트를 자동으로 돌리는 일입니다.

CI는 지속적 통합을 뜻합니다. CD는 배포 가능한 상태를 유지하는 지속적 제공(Continuous Delivery), 또는 승인 없이 운영 배포까지 이어지는 지속적 배포(Continuous Deployment)를 가리킵니다.

깃허브 액션은 이 과정을 저장소 안에서 돌립니다.

푸시나 풀 리퀘스트가 생기면 러너라는 가상 머신이 일합니다. 호스티드 러너는 Ubuntu·Windows·macOS 중에 고르며 셀프 호스티드 러너를 직접 운영해도 됩니다.

깃허브 액션 사용법, YAML 파일 하나에서 시작합니다

깃허브 액션 사용법 - .github/workflows YAML 파일의 on·jobs·steps 구조

워크플로 파일은 .github/workflows/ci.yml처럼 둡니다. 아래는 Node.js 24 프로젝트에 package-lock.json과 test 스크립트가 있다는 조건의 예시입니다. 기존 도식의 버전 표기는 구조 설명용이며, 실행 코드는 현재 공식 예시에 맞췄습니다.

on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-node@v7
        with:
          node-version: '24.x'
      - run: npm ci
      - run: npm test

on은 언제 실행할지 정합니다.

예시는 푸시와 풀 리퀘스트 때 돕니다. 예약 실행 schedule이나 수동 실행 workflow_dispatch도 여기에 적으면 됩니다.

jobs는 실행 환경을, steps는 실행 순서를 정합니다.

러너는 runs-on으로 고릅니다. uses는 만들어 둔 액션을, run은 셸 명령을 실행하며 결과는 Actions 탭 로그로 봅니다.

테스트에서 배포까지, 워크플로 예시로 이어 보기

깃허브 액션 사용법 - 테스트 통과 뒤 main 브랜치에서만 배포하는 워크플로

테스트 통과 뒤에만 배포하려면 jobs 아래에 잡을 붙입니다. 잡마다 별도 환경에서 시작하므로 Node.js 설정과 의존성 설치가 다시 필요합니다. 아래 deploy 명령과 토큰 이름은 프로젝트가 직접 정의한 예시입니다.

  deploy:
    needs: test
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-node@v7
        with:
          node-version: '24.x'
          package-manager-cache: false
      - run: npm ci
      - run: npm run deploy
        env:
          DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}

needs와 if가 배포 순서를 지킵니다.

test가 성공해야 deploy 잡이 시작되고 if 조건에 맞는 main 코드만 배포됩니다.

깃허브 액션 무료 한도와 비용, 어디까지 공짜일까

깃허브 액션 사용법 - 깃허브 액션 무료 한도와 비용, 플랜별 월 포함 시간

2026년 10월 GitHub 결제 문서 기준, 공개 저장소의 표준 러너는 무료이고 비공개 저장소는 플랜별 월 한도가 있습니다.

플랜

월 포함 시간

아티팩트 저장

Free

2,000분

500MB

Pro

3,000분

1GB

Team

3,000분

2GB

Enterprise Cloud

50,000분

50GB

깃허브 액션 비용은 러너 운영체제마다 다릅니다.

초과 단가는 분당 Linux 2코어 0.006달러, Windows 0.010달러, macOS 0.062달러입니다. 결제 수단이 없으면 한도에서 실행이 멈춥니다.

러너 크기와 저장 공간도 비용에 포함됩니다.

공개 저장소라도 larger runner는 유료입니다. 아티팩트와 캐시의 보관량도 따로 확인합니다. 현재 결제 문서는 셀프 호스티드 러너 사용을 무료로 안내하지만, 직접 운영하는 서버의 비용은 별개입니다.

깃허브 액션 Secrets, 키는 YAML 밖에 둡니다

배포 토큰은 저장소 설정의 Secrets에 저장합니다.

Settings → Secrets and variables → Actions에서 New repository secret으로 넣고 secrets.이름으로 부릅니다. 로컬 .env처럼 값은 코드 밖에 둡니다.

포크에서 온 풀 리퀘스트에는 Secrets가 넘어가지 않습니다.

GitHub 문서상 포크에서 시작된 워크플로에는 GITHUB_TOKEN 말고는 Secrets가 넘어가지 않습니다.

지금 우리 배포는 몇 단계를 사람이 손으로 하고 있나요? 적어 보면 옮길 순서가 보입니다.

깃허브 액션 사용법 - 도입 전 체크리스트(트리거·러너·무료 한도·Secrets)

설정과 적용 조건을 더 살펴보려면 GitHub Actions 무료 한도와 과금 · Node.js 워크플로 예시를 참고해 보세요.


코드 변경과 배포가 이어지는 개발

똑똑한개발자는 웹·앱과 관리자 시스템을 개발하며 Git 기반 코드 관리와 CI/CD를 개발 환경에 활용합니다. 아래 개발 소개서는 코드 공유와 배포에 사용하는 기술을 보여 줍니다. 자동화 범위를 정할 때는 테스트 명령과 배포 대상, 인증 정보의 관리 주체를 함께 살펴보면 좋습니다.

똑똑한개발자 Git·CI/CD 개발 환경 소개서 원본

테스트와 배포 중 어느 단계부터 자동화할지 고민되시나요? 아래 링크로 문의해 주시면 현재 개발 환경과 배포 절차를 함께 검토하겠습니다.

감사합니다. :)


📚 이어서 읽어보세요

클립보드에 복사되었어요 ✓
이 글을 공유해보세요!