Validación de la configuración de compilación con GitHub Actions
Las
comprobaciones de compilación (build checks) te permiten validar tu configuración de docker build sin tener que ejecutar realmente la compilación.
Ejecutar comprobaciones con docker/build-push-action
Para ejecutar las comprobaciones de compilación en un flujo de trabajo de GitHub Actions con la acción build-push-action, establece el parámetro de entrada call en check. Con esta opción configurada, el flujo de trabajo fallará si se detecta alguna advertencia de comprobación para la configuración de tu compilación.
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Iniciar sesión en Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Configurar Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Validar la configuración de compilación
uses: docker/build-push-action@v7
with:
call: check
- name: Compilar y enviar
uses: docker/build-push-action@v7
with:
push: true
tags: user/app:latestEjecutar comprobaciones con docker/bake-action
Si utilizas Bake y docker/bake-action para ejecutar tus compilaciones, no necesitas especificar ninguna entrada especial en la configuración del flujo de trabajo de GitHub Actions. En su lugar, define un objetivo (target) de Bake que llame al método check e invoca ese objetivo en tu 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: Iniciar sesión en Docker Hub
uses: docker/login-action@v4
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Configurar Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Validar la configuración de compilación
uses: docker/bake-action@v7
with:
targets: validate-build
- name: Compilar
uses: docker/bake-action@v7
with:
targets: build
push: trueUso de la entrada call directamente
También puedes establecer el método de compilación con la entrada call, lo cual equivale a utilizar la bandera --call con docker buildx bake.
Por ejemplo, para ejecutar una comprobación sin definir call en tu archivo Bake:
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Configurar Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Validar la configuración de compilación
uses: docker/bake-action@v7
with:
targets: build
call: check