소프트웨어 개발에서 코드 변경 사항을 지속적으로 통합하고 배포하는 것은 매우 중요하다. 특히, CI/CD(Continuous Integration & Continuous Deployment)를 활용하면 개발자가 코드를 변경할 때마다 자동으로 테스트와 빌드가 실행되므로, 문제가 있는 코드가 메인 브랜치에 반영되는 것을 방지할 수 있다.
GitHub Actions를 사용하면 pull request(Pull Request, PR) 단계에서 자동으로 빌드를 수행하고, 실패할 경우 merge를 차단할 수 있다. 이를 통해 코드의 안정성을 보장하고, 배포 프로세스를 더욱 원활하게 만들 수 있다.
GitHub Actions는 GitHub에서 제공하는 자동화 도구로, 코드 변경 사항이 발생했을 때 특정 작업을 실행할 수 있도록 해준다. 워크플로우(Workflow)는 YAML 형식의 설정 파일로 정의되며, 원하는 이벤트가 발생하면 자동으로 실행된다.
ubuntu-latest)GitHub Actions를 활용하면 PR을 생성할 때 빌드 프로세스를 실행하고, 실패한 경우 PR을 머지할 수 없도록 설정할 수 있다.
아래는 frontend/ 폴더의 빌드 체크를 수행하는 GitHub Actions 설정 파일이다. PR을 생성하면 npm install과 npm run build가 실행되며, 실패하면 merge를 차단하도록 할 수 있다.
.github/workflows/build.ymlname: build check
on:
pull_request:
branches:
- main
- develop
paths:
- frontend/**
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Dependencies
run: npm install
working-directory: frontend # <--- 나같은 경우에는
- name: Build
run: npm run build
working-directory: frontend
on: pull_request: PR이 생성될 때 실행branches: main, develop 브랜치 대상paths: frontend/ 경로 내 변경이 있을 때만 실행jobs.build:runs-on: ubuntu-latest: 실행 환경 지정steps: 실행할 작업 목록actions/checkout@v4: 저장소 코드 체크아웃npm install: 종속성 설치 (frontend/ 폴더 내 실행)npm run build: 빌드 실행YAML 파일을 추가한 후, 빌드 결과에 따라 PR을 제한하려면 Branch Protection Rule을 설정해야 한다.
GitHub은 한 번도 실행되지 않은 GitHub Actions의 경우, Required status checks에 추가할 수 없다. 따라서, .github/workflows/build.yml을 추가한 후, PR을 생성하여 최소 한 번은 실행해야 한다.

Branch name pattern: main 또는 develop 입력이제 GitHub Actions를 활용하여 PR 시 자동으로 빌드를 수행하고, 빌드 실패 시 Merge를 차단할 수 있다. 이를 통해 코드의 품질을 유지하고, 배포 전 오류를 사전에 방지할 수 있다. 이 설정을 확장하면 테스트 자동화, 코드 린팅 등 다양한 CI/CD 기능을 추가할 수도 있다.