GitHub Actions로 빌드 구성 검증하기

GitHub Actions로 빌드 구성 검증하기 (Validating build configuration with GitHub Actions)

빌드를 실제로 실행하지 않고 빌드 구성을 검증하는 방법을 다뤄요.

출처: 문서

본문

빌드 구성을 위한 빌드 체크를 워크플로에서 수행할 수 있어요. 체크 경고가 감지되면 워크플로가 실패하도록 설정할 수도 있어요.

다음 예시는 build-push-actioncall: check를 사용해 구성만 검증하고, 그다음 실제 빌드·push를 수행해요:

name: ci

on:
  push:

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: Login to Docker Hub
        uses: docker/login-action@v4
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v4

      - name: Validate build configuration
        uses: docker/build-push-action@v7
        with:
          call: check

      - name: Build and push
        uses: docker/build-push-action@v7
        with:
          push: true
          tags: user/app:latest

Bake를 쓸 때는 call = "check"를 가진 별도 타깃을 정의하고 CI에서 그 타깃을 호출할 수도 있어요:

target "build" {
  dockerfile = "Dockerfile"
  args = {
    FOO = "bar"
  }
}
target "validate-build" {
  inherits = ["build"]
  call = "check"
}
name: ci

on:
  push:

env:
  IMAGE_NAME: user/app

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: ...

이렇게 하면 실제 빌드 전에 구성을 검증해 문제를 미리 발견할 수 있어요.

더 알아보기 (Learn more)