Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
El ejecutor Actions admite anulaciones de CodeBuild-hosted GitHub etiquetas
En tu flujo de trabajo de GitHub Actions (YAML), puedes incluir una variedad de sustituciones de etiquetas que modifiquen la compilación del ejecutor autohospedado. Se CodeBuild ignorarán todas las compilaciones que no reconozcas, pero no rechazarán tu solicitud de webhook. El siguiente flujo de trabajo (YAML) define dos tareas: job1 usa anulaciones para la imagen, el tamaño de la instancia, la flota y la especificación de compilación, y usa solo una anulación de imagen. job2 Asigne a cada trabajo una etiqueta única (job1yjob2) para que dirija cada trabajo al GitHub ejecutor creado para él:
name: Hello World on: [push] jobs: job1: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:small - fleet:myFleet - buildspec-override:true - job1 steps: - run: echo "Hello from Job 1!" job2: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - job2 steps: - run: echo "Hello from Job 2!"
También puede utilizar una estrategia matricial para ejecutar un único trabajo en varias configuraciones. Las expansiones de un trabajo de matriz única siempre tienen el mismo número de etiquetas, por lo que el problema de coincidencia de ejecutores no las afecta. Sin embargo, si una ejecución de flujo de trabajo contiene más de una tarea matricial, asigne a cada tarea matricial su propia etiqueta personalizada única (por ejemplo, matrix-job-1 ymatrix-job-2) para que GitHub no haga coincidir una tarea con una ejecución creada para una tarea matricial diferente:
name: Hello World on: [push] jobs: Hello-World-Job: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:${{ matrix.os }} - instance-size:${{ matrix.size }} - fleet:myFleet - buildspec-override:true - matrix-job-1 strategy: matrix: include: - os: arm-3.0 size: small - os: linux-5.0 size: large steps: - run: echo "Hello World!"
nota
Si su trabajo de flujo de trabajo está pendiente GitHub, consulte Solución de problemas del webhook y Uso de etiquetas personalizadas para enrutar los trabajos
codebuild- (obligatorio)<project-name>-${{github.run_id}}-${{github.run_attempt}}
Ejemplo:
codebuild-fake-project-${{ github.run_id }}-${{ github.run_attempt }}-
Necesario para todos los YAML del flujo de trabajo de GitHub Actions.
<project name>debe ser igual al nombre del proyecto para el que está configurado el webhook del ejecutor autohospedado.
image:<environment-type>-<image-identifier>
Ejemplo:
image:arm-3.0-
Anula la imagen y el tipo de entorno utilizados al iniciar la compilación del ejecutor autoalojado con una imagen seleccionada. Para obtener más información sobre los valores admitidos, consulte Calcule imágenes compatibles con el ejecutor CodeBuild-hosted GitHub Actions.
Para anular la imagen y el tipo de entorno utilizados con una imagen personalizada, utilice
image:custom-<environment-type>-<custom-image-identifier>Ejemplo:
image:custom-arm-public.ecr.aws/codebuild/amazonlinux-aarch64-standard:3.0nota
Si la imagen personalizada se encuentra en un registro privado, consulte Configuración de una credencial de registro privada para ejecutores autoalojados.
instance-size:<instance-size>
Ejemplo:
instance-size:medium-
Anula el tipo de instancia utilizado al iniciar la compilación del ejecutor autoalojado. Para obtener más información sobre los valores admitidos, consulte Calcule imágenes compatibles con el ejecutor CodeBuild-hosted GitHub Actions.
fleet:<fleet-name>
Ejemplo:
fleet:myFleet-
Anula la configuración de flota establecida en el proyecto para usar la flota especificada. Para obtener más información, consulte Ejecución de compilaciones en flotas de capacidad reservada.
buildspec-override:<boolean>
Ejemplo:
buildspec-override:true-
Permite que la compilación ejecute comandos buildspec en las fases
INSTALL,PRE_BUILDyPOST_BUILDsi está establecido entrue.
(se recomienda cuando la ejecución de un flujo de trabajo tiene varios trabajos)<unique-label>
Ejemplo:
job1-
Una etiqueta personalizada que usted defina y que ningún otro trabajo de la misma ejecución de flujo de trabajo utilice. Al asignar a cada trabajo una etiqueta única, se garantiza GitHub que cada trabajo se dirija solo al corredor que se creó para él. Sin ella, cuando los trabajos de la misma ejecución de flujo de trabajo tienen un número diferente de anulaciones de etiquetas, un corredor creado para un trabajo con más etiquetas puede recoger un trabajo con menos etiquetas, lo que deja el segundo trabajo sin un corredor. Para obtener más información, consulte Solución de problemas del webhook.
Anulación de una sola etiqueta
CodeBuild permite proporcionar varias anulaciones en una sola etiqueta mediante lo siguiente:
nota
Como todas las anulaciones se combinan en una sola etiqueta, el ejecutor de cada trabajo se registra con exactamente una etiqueta. Esto significa que el problema de coincidencia entre varios ejecutores de tareas descrito en Solución de problemas del webhook no puede producirse con este formato, ni siquiera sin una etiqueta única en cada trabajo. Utilice el formato de etiqueta única si prefiere este comportamiento y sus trabajos solo necesitan las anulaciones que admite. No lo use cuando necesite una anulación que no sea compatible. Por ejemplo, las imágenes personalizadas (incluidas las imágenes de un registro privado) solo se pueden especificar mediante el formato de image:custom- etiqueta. Para esas anulaciones, utilice el formato de etiqueta independiente descrito anteriormente en este tema.<environment-type>-<custom-image-identifier>
-
Para anular la configuración de su entorno para una compilación de Amazon EC2/Lambda Compute, utilice la siguiente sintaxis:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<environment-type>-<image-identifier>-<instance-size> -
Para anular la configuración de la flota en una compilación de computación de Amazon EC2, utilice la sintaxis siguiente:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-fleet-<fleet-name> -
Para anular tanto la flota como la imagen utilizadas para la compilación, utilice la sintaxis siguiente:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-image-<image-version>-fleet-<fleet-name> -
Para ejecutar comandos buildspec durante la compilación, se puede agregar
-with-buildspeccomo sufijo a la etiqueta:runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<image>-<image-version>-<instance-size>-with-buildspec -
Si lo desea, puede proporcionar una anulación del tamaño de la instancia sin anular la imagen. En el caso de las compilaciones de Amazon EC2, puede excluir tanto el tipo de entorno como el identificador de imagen. En el caso de las compilaciones de Lambda, puede excluir el identificador de imagen.