

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.

# Ejecute AWS CodeBuild compilaciones manualmente
<a name="run-build"></a>

Puedes usar la AWS CodeBuild consola o AWS SDKs ejecutar una compilación CodeBuild. AWS CLI

**Topics**
+ [Ejecute compilaciones localmente con el AWS CodeBuild agente](use-codebuild-agent.md)
+ [Ejecutar una compilación (consola)](run-build-console.md)
+ [Ejecutar una compilación (AWS CLI)](run-build-cli.md)
+ [Ejecutar una compilación por lotes (AWS CLI)](run-batch-build-cli.md)
+ [Iniciar la ejecución de compilaciones automáticamente (AWS CLI)](run-build-cli-auto-start.md)
+ [Detener la ejecución de compilaciones automáticamente (AWS CLI)](run-build-cli-auto-stop.md)
+ [Ejecutar una compilación (AWS SDKs)](run-build-sdks.md)

# Ejecute compilaciones localmente con el AWS CodeBuild agente
<a name="use-codebuild-agent"></a>

Puede usar el AWS CodeBuild agente para ejecutar CodeBuild compilaciones en una máquina local. Hay agentes disponibles para las plataformas x86\$164 y ARM.

Es posible suscribirse para recibir notificaciones cuando se publican versiones nuevas del agente. 

## Requisitos previos
<a name="use-codebuild-agent.prerequisites"></a>

Antes de comenzar, haga lo siguiente:
+ Instale Git en su equipo local.
+ Instale y configure [Docker](https://www.docker.com/) en su máquina local.

## Configure la imagen de compilación
<a name="use-codebuild-agent.setup-image"></a>

Solo es necesario configurar la imagen de compilación la primera vez que se va a ejecutar el agente o cuando la imagen haya cambiado.

**Para configurar la imagen de compilación**

1. Si desea utilizar una imagen seleccionada de Amazon Linux 2, puede extraerla del repositorio CodeBuild público de Amazon ECR en [https://gallery.ecr. aws/codebuild/amazonlinux-x86\$164-standard](https://gallery.ecr.aws/codebuild/amazonlinux-x86_64-standard) con el siguiente comando:

   ```
   $ docker pull public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0
   ```

   Como alternativa, si desea utilizar otra imagen de Linux, ejecute los pasos siguientes:

   1. Clona el repositorio CodeBuild de imágenes:

      ```
      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
      ```

   1. Cambie al directorio de imágenes. En este ejemplo se utiliza la imagen de `aws/codebuild/standard:5.0`.

      ```
      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
      ```

   1. Compile la imagen. Esto puede tardar varios minutos. 

      ```
      $ docker build -t aws/codebuild/standard:5.0 .
      ```

1. Descarga el CodeBuild agente.

   Para descargar la versión x86\$164 del agente, ejecute el comando siguiente:

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:latest
   ```

   Para descargar la versión ARMA del agente, ejecute el comando siguiente:

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
   ```

1. <a name="codebuild-agent-sha"></a>El CodeBuild agente está disponible en [https://gallery.ecr. aws/codebuild/local-compila](https://gallery.ecr.aws/codebuild/local-builds). 

   La firma del algoritmo de hash seguro (SHA) de la versión x86\$164 del agente es:

   ```
   sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940
   ```

   La firma SHA de la versión ARM del agente es:

   ```
   sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192
   ```

   Puede usar el SHA para identificar la versión del agente. Para ver la firma SHA del agente, ejecute el comando siguiente y busque el SHA en `RepoDigests`: 

   ```
   $ docker inspect public.ecr.aws/codebuild/local-builds:latest
   ```

## Ejecuta el agente CodeBuild
<a name="use-codebuild-agent.run-agent"></a>

**Para ejecutar el CodeBuild agente**

1. Cambie al directorio que contiene el código fuente del proyecto de compilación.

1. Descargue el script [codebuild\$1build.sh](https://github.com/aws/aws-codebuild-docker-images/blob/master/local_builds/codebuild_build.sh).

   ```
   $ curl -O  https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh
   $ chmod +x codebuild_build.sh
   ```

1. Ejecute el script de `codebuild_build.sh` y especifique la imagen del contenedor y el directorio de salida:

   Para ejecutar una compilación de x86\$164, utilice el comando siguiente:

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory>
   ```

   Para ejecutar una compilación de ARM, utilice el comando siguiente:

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64
   ```

   *<container-image>*Sustitúyalo por el nombre de la imagen del contenedor, como `aws/codebuild/standard:5.0` o`public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0`.

   El script lanza la imagen de compilación y ejecuta la compilación en el proyecto en el directorio actual. Para especificar la ubicación del proyecto de compilación, añada la opción `-s <build project directory>` al comando del script.

## Reciba notificaciones sobre las nuevas versiones CodeBuild del agente
<a name="receive-codebuild-agent-notifications"></a>

Puede suscribirse a las notificaciones de Amazon SNS para que se le notifique cuando se publiquen nuevas versiones del AWS CodeBuild agente. 

**Para suscribirse a las notificaciones de los CodeBuild agentes**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home) 

1. En la barra de navegación, si aún no está seleccionada, cambie la AWS región a **EE.UU. Este (Norte de Virginia).** Debe seleccionar esta AWS región porque las notificaciones de Amazon SNS a las que se está suscribiendo se crean en esta región. 

1. En el panel de navegación, seleccione **Subscriptions**. 

1. Seleccione **Create subscription**. 

1. En **Crear suscripción**, haga lo siguiente: 

   1. En **Topic ARN**, use el siguiente nombre de recurso de Amazon (ARN): 

      ```
      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
      ```

   1. En **Protocol (Protocolo)**, elija **Email (Correo electrónico)** o **SMS**. 

   1. En **Endpoint (Punto de conexión)**, elija dónde desea recibir las notificaciones (por correo electrónico o SMS). Escriba un correo electrónico, una dirección o un número de teléfono, incluido el código de área. 

   1. Seleccione **Crear subscripción**. 

   1. Seleccione **Correo electrónico** para recibir un correo electrónico en el que se le pedirá que confirme la suscripción. Siga las instrucciones del mensaje para completar la suscripción. 

      Si ya no desea recibir estas notificaciones, utilice el siguiente procedimiento para cancelar la suscripción. 

**Para cancelar la suscripción a las notificaciones de los agentes CodeBuild**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home) 

1. En el panel de navegación, seleccione **Suscripciones**. 

1. Elija la suscripción y, en **Actions (Acciones)**, elija **Delete subscriptions (Eliminar suscripciones)**. Cuando se le pida confirmación, elija **Delete**. 

# Ejecutar una compilación (consola)
<a name="run-build-console"></a>

Si desea usar AWS CodePipeline para ejecutar una compilación con CodeBuild, omita estos pasos y siga las instrucciones de [Úselo CodeBuild con CodePipeline](how-to-create-pipeline.md).

1. Abra la consola de AWS CodeBuild en [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. En el panel de navegación, elija **Proyectos de compilación**.

1. En la lista de proyectos de compilación, seleccione el proyecto de compilación.

1. Es posible ejecutar la compilación con la configuración predeterminada del proyecto de compilación o anular la configuración de compilación solo para esta compilación.

   1. Para ejecutar la compilación con la configuración predeterminada del proyecto de compilación, seleccione **Iniciar compilación**. La compilación comienza inmediatamente.

   1. Para anular la configuración predeterminada de compilación, seleccione **Iniciar compilación con anulaciones**. En la página **Iniciar compilación**, es posible anular lo siguiente:
      + **Configuración de compilación**
      + **Origen**
      + **Anulaciones de variables de entorno**

      Si necesita seleccionar anulaciones más avanzadas, seleccione **Anulaciones de compilación avanzada**. En esta página, es posible anular lo siguiente:
      + **Configuración de compilación**
      + **Origen**
      + **Entorno**
      + **Buildspec**
      + **Artefactos**
      + **Registros**

      Cuando haya hecho sus selecciones de anulación, seleccione **Iniciar compilación**.

Para obtener información detallada acerca de esta compilación, consulte [Ver detalles de las compilaciones (consola)](view-build-details.md#view-build-details-console).

# Ejecutar una compilación (AWS CLI)
<a name="run-build-cli"></a>

**nota**  
Si desea usar CodePipeline para ejecutar una compilación con AWS CodeBuild, omita estos pasos y siga las instrucciones de [Cree una canalización que utilice CodeBuild (AWS CLI)](how-to-create-pipeline-cli.md).  
Para obtener más información sobre cómo usar AWS CLI con CodeBuild, consulte [Referencia de la línea de comandos](cmd-ref.md).

1. Ejecute el comando `start-build` de una de las siguientes formas:

   ```
   aws codebuild start-build --project-name <project-name>
   ```

   Utilice esta opción si desea ejecutar una compilación que utilice la última versión del artefacto de entrada de la compilación y la configuración existente del proyecto de compilación.

   ```
   aws codebuild start-build --generate-cli-skeleton
   ```

   Utilice esta opción si desea ejecutar una versión de compilación con una versión anterior del artefacto de entrada de compilación o si desea anular la configuración de los artefactos de salida de compilación, variables de entorno, especificación de compilación o período de tiempo de espera de compilación predeterminado.

1. Si ejecuta el comando **start-build** con la opción `--project-name`, sustituya *<project-name>* por el nombre del proyecto de compilación y vaya al paso 6 de este procedimiento. Para obtener una lista de proyectos de compilación, consulte [Visualización de los nombres de los proyectos de compilación](view-project-list.md).

1. Si ejecuta el comando **start-build** con la opción `--idempotency-token`, se incluye un identificador único en el que se distingue entre mayúsculas y minúsculas, o token, con la solicitud de `start-build`. El token es válido durante 5 minutos después de la solicitud. Si repite la solicitud `start-build` con el mismo token, pero cambia un parámetro, CodeBuild devuelve un error de coincidencia de parámetros.

1. Si ejecuta el comando **start-build** con la opción `--generate-cli-skeleton`, se mostrarán en el resultado datos con formato JSON. Copie los datos en un archivo (por ejemplo, `start-build.json`) en la ubicación del equipo o instancia local en la que haya instalado la AWS CLI. Modifique los datos copiados para que coincidan con el siguiente formato y guarde los resultados:

   ```
   {
     "projectName": "projectName",
     "sourceVersion": "sourceVersion",
     "artifactsOverride": {
       "type": "type",
       "location": "location",
       "path": "path",
       "namespaceType": "namespaceType",
       "name": "artifactsOverride-name",
       "packaging": "packaging"
     },
     "buildspecOverride": "buildspecOverride",
     "cacheOverride": {
       "location": "cacheOverride-location",
       "type": "cacheOverride-type"
     },
     "certificateOverride": "certificateOverride",
     "computeTypeOverride": "computeTypeOverride",
     "environmentTypeOverride": "environmentTypeOverride",
     "environmentVariablesOverride": {
       "name": "environmentVariablesOverride-name",
       "value": "environmentVariablesValue",
       "type": "environmentVariablesOverride-type"
     },
     "gitCloneDepthOverride": "gitCloneDepthOverride",
     "imageOverride": "imageOverride",
     "idempotencyToken": "idempotencyToken",
     "insecureSslOverride": "insecureSslOverride",
     "privilegedModeOverride": "privilegedModeOverride",
     "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride",
     "reportBuildStatusOverride": "reportBuildStatusOverride",
     "timeoutInMinutesOverride": "timeoutInMinutesOverride",
     "sourceAuthOverride": "sourceAuthOverride",
     "sourceLocationOverride": "sourceLocationOverride",
     "serviceRoleOverride": "serviceRoleOverride",
     "sourceTypeOverride": "sourceTypeOverride"
   }
   ```

   Reemplace los siguientes marcadores de posición:
   + *projectName*: cadena necesaria. El nombre del proyecto de compilación que desea usar para esta compilación. 
   + *sourceVersion*: cadena opcional. Una versión del código fuente que se va a compilar, como la siguiente:
     + Para Amazon S3, el ID de versión correspondiente a la versión del archivo ZIP de entrada que desea compilar. Si no se especifica *sourceVersion*, se usa la versión más reciente.
     + Para CodeCommit, el ID de confirmación correspondiente a la versión del código fuente que desea compilar. Si no se especifica *sourceVersion*, se usa el ID de confirmación HEAD de la ramificación personalizada. (No puede especificar un nombre de etiqueta para *sourceVersion*, pero puede especificar el ID de confirmación de la etiqueta).
     + Para GitHub, el ID de confirmación, el ID de solicitud de inserción, el nombre de ramificación o el nombre de etiqueta correspondiente a la versión de código fuente que desea compilar. Si se especifica un ID de solicitud de inserción, este debe tener el formato `pr/pull-request-ID` (por ejemplo, `pr/25`). Si se especifica un nombre de ramificación, se usa el ID de confirmación HEAD de la ramificación. Si no se especifica *sourceVersion*, se usa el ID de confirmación HEAD de la ramificación personalizada. 
     + Para Bitbucket, el ID de confirmación, el nombre de ramificación o el nombre de etiqueta correspondiente a la versión de código fuente que desea compilar. Si se especifica un nombre de ramificación, se usa el ID de confirmación HEAD de la ramificación. Si no se especifica *sourceVersion*, se usa el ID de confirmación HEAD de la ramificación personalizada. 
   + Los siguientes marcadores de posición son para `artifactsOverride`.
     + *type*: opcional. El tipo de artefacto de salida de la compilación que invalida el definido en el proyecto de compilación para esta compilación.
     + *location*: opcional. La ubicación del artefacto de salida de la compilación que invalida la definida en el proyecto de compilación para esta compilación.
     + *path*: opcional. La ruta del artefacto de salida de la compilación que invalida la definida en el proyecto de compilación para esta compilación.
     + *namespaceType*: opcional. El tipo de ruta del artefacto de salida de la compilación que invalida el definido en el proyecto de compilación para esta compilación.
     + *name*: opcional. El nombre del artefacto de salida de la compilación que invalida el definido en el proyecto de compilación para esta compilación.
     + *packaging*: opcional. El tipo de empaquetado del artefacto de salida de la compilación que invalida el definido en el proyecto de compilación para esta compilación.
   + *buildspecOverride*: opcional. Declaración de buildspec que invalida la declaración definida en el proyecto de esta compilación. Si se establece este valor, puede ser una definición de buildspec en línea, la ruta a un archivo de buildspec alternativo en relación con el valor de la variable de entorno `CODEBUILD_SRC_DIR` incorporada, o la ruta a un bucket de S3. El bucket de S3 debe estar en la misma región de AWS que el proyecto de compilación. Especifique el archivo buildspec utilizando su ARN (por ejemplo, `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`). Si este valor no se proporciona o se establece en una cadena vacía, el código fuente debe contener un archivo `buildspec.yml` en su directorio raíz. Para obtener más información, consulte [Nombre de archivo y ubicación de almacenamiento de buildspec](build-spec-ref.md#build-spec-ref-name-storage).
   + Los siguientes marcadores de posición son para `cacheOverride`.
     + *cacheOverride-location*: opcional. La ubicación de un objeto `ProjectCache` para esta compilación que anula el objeto `ProjectCache` especificado en el proyecto de compilación. `cacheOverride` es opcional y toma un objeto `ProjectCache`. `location` es obligatorio en un objeto `ProjectCache`.
     + *cacheOverride-type*: opcional. El tipo de un objeto `ProjectCache` para esta compilación que anula el objeto `ProjectCache` especificado en el proyecto de compilación. `cacheOverride` es opcional y toma un objeto `ProjectCache`. `type` es obligatorio en un objeto `ProjectCache`.
   + *certificateOverride*: opcional. El nombre de un certificado para esta compilación que sustituye el especificado en el proyecto de compilación.
   + *environmentTypeOverride*: opcional. Un tipo de contenedor para esta compilación que sustituye el especificado en el proyecto de compilación. La cadena válida actual es `LINUX_CONTAINER`.
   + Los siguientes marcadores de posición son para `environmentVariablesOverride`.
     + *environmentVariablesOverride-name*: opcional. El nombre de una variable de entorno del proyecto de compilación cuyo valor desea invalidar para esta compilación.
     + *environmentVariablesOverride-type*: opcional. El tipo de variable de entorno del proyecto de compilación cuyo valor desea invalidar para esta compilación.
     + *environmentVariablesValue*: opcional. El valor de la variable de entorno definida en el proyecto de compilación que desea invalidar para esta compilación.
   + *gitCloneDepthOverride*: opcional. El valor de **Git clone depth** en el proyecto de compilación cuyo valor desea invalidar para esta compilación. Si el tipo de origen es Amazon S3, este valor no se admite.
   + *imageOverride*: opcional. El nombre de una imagen para esta compilación que sustituye el especificado en el proyecto de compilación.
   + *idempotencyToken*: opcional. Una cadena que sirve de token para especificar que la solicitud de compilación es idempotente. Puede elegir cualquier cadena de 64 caracteres o menos. El token es válido durante 5 minutos después de la solicitud de inicio de la compilación. Si se repite la solicitud de inicio de compilación con el mismo token, pero se cambia un parámetro, CodeBuild devuelve un error de coincidencia de parámetros. 
   + *insecureSslOverride*: valor booleano opcional que especifica si la configuración TLS no segura especificada se va a invalidar en el proyecto de compilación. La configuración de TLS no segura determina si deben omitirse las advertencias de TLS al conectarse al código fuente del proyecto. Esta sustitución se aplica únicamente si el origen de la compilación es GitHub Enterprise Server.
   + *privilegedModeOverride*: valor booleano opcional. Si se establece en true, la compilación sustituye el modo privilegiado en el proyecto de compilación.
   +  *queuedTimeoutInMinutesOverride*: Número entero opcional que especifica el número de minutos que se permite en cola una compilación antes de que transcurra el tiempo de espera. Su valor mínimo es de cinco minutos y su valor máximo es 480 minutos (ocho horas). 
   + *reportBuildStatusOverride*: valor booleano opcional que especifica si se debe enviar al proveedor de código fuente el estado de inicio y finalización de una compilación. Si define este valor con un proveedor de código fuente distinto de GitHub, GitHub Enterprise Server o Bitbucket, se genera una excepción invalidInputException.
   + *sourceAuthOverride*: cadena opcional. Un tipo de autorización para esta compilación que sustituye la definida en el proyecto de compilación. Esta sustitución se aplica únicamente si el origen del proyecto de compilación es Bitbucket o GitHub.
   + *sourceLocationOverride*: cadena opcional. Una ubicación que sustituye la ubicación de código fuente de este proyecto por la definida en el proyecto de compilación.
   + *serviceRoleOverride*: cadena opcional. El nombre de un rol de servicio para esta compilación que sustituye el especificado en el proyecto de compilación.
   + *sourceTypeOverride*: cadena opcional. Un tipo de entrada de código fuente para esta compilación que sustituye la entrada de código fuente definida en el proyecto de compilación. Las cadenas válidas son `NO_SOURCE`, `CODECOMMIT`, `CODEPIPELINE`, `GITHUB`, `S3`, `BITBUCKET` y `GITHUB_ENTERPRISE`.
   + *timeoutInMinutesOverride*: número opcional. El número de minutos de tiempo de espera de la compilación que invalida el definido en el proyecto de compilación para esta compilación. 

   Le recomendamos que almacene una variable de entorno con un valor confidencial, como un ID de clave de acceso de AWS, una clave de acceso secreta de AWS o una contraseña, como un parámetro en el almacén de parámetros de Amazon EC2 Systems Manager. CodeBuild puede utilizar un parámetro almacenado en el almacén de parámetros de Amazon EC2 Systems Manager solo si el nombre del parámetro comienza por `/CodeBuild/` (por ejemplo, `/CodeBuild/dockerLoginPassword`). Puede utilizar la consola de CodeBuild para crear un parámetro en Amazon EC2 Systems Manager. Elija **Crear un parámetro** y siga las instrucciones. (En ese cuadro de diálogo, en **Clave de KMS**, puede especificar si lo desea el ARN de una clave de AWS KMS de su cuenta. Amazon EC2 Systems Manager utiliza esta clave para cifrar el valor del parámetro durante el almacenamiento y descifrarlo durante la recuperación). Si usa la consola de CodeBuild para crear un parámetro, la consola asigna `/CodeBuild/` al principio del parámetro cuando lo almacena. Sin embargo, si utiliza la consola del almacén de parámetros de Amazon EC2 Systems Manager para crear un parámetro, el nombre del parámetro debe comenzar por `/CodeBuild/` y debe establecer **Tipo** en **Cadena segura**. Para obtener más información, consulte [Almacenamiento de parámetros de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) y [Tutorial : Crear y probar un parámetro de cadena de caracteres (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) en la *Guía del usuario de Amazon EC2 Systems Manager*.

   Si el proyecto de compilación hace referencia a parámetros almacenados en el almacén de parámetros de Amazon EC2 Systems Manager, el rol de servicio del proyecto de compilación debe permitir la acción `ssm:GetParameters`. Si se ha seleccionado **Crear un nuevo rol de servicio en su cuenta** anteriormente, CodeBuild incluye esta acción en el rol de servicio predeterminado del proyecto de compilación automáticamente. Sin embargo, si se ha seleccionado **Seleccionar un rol de servicio existente de su cuenta**, debe incluir esta acción en su rol de servicio por separado.

   Las variables de entorno que defina reemplazan las variables de entorno existentes. Por ejemplo, si la imagen de Docker ya contiene una variable de entorno denominada `MY_VAR` con un valor de `my_value` y establece una variable de entorno denominada `MY_VAR` con un valor de `other_value`, `my_value` se reemplaza por `other_value`. Asimismo, si la imagen de Docker ya contiene una variable de entorno denominada `PATH` con un valor de `/usr/local/sbin:/usr/local/bin` y establece una variable de entorno denominada `PATH` con un valor de `$PATH:/usr/share/ant/bin`, `/usr/local/sbin:/usr/local/bin` se reemplaza por el valor literal `$PATH:/usr/share/ant/bin`. 

   No establezca variables de entorno con un nombre que empiece por `CODEBUILD_`. Este prefijo se reserva para uso interno.

   Si se define una variable de entorno con el mismo nombre en varios lugares, el valor de la variable de entorno se determina de la siguiente manera:
   + El valor de la llamada a la operación de inicio de la compilación tiene la máxima prioridad.
   + El valor de la definición del proyecto de compilación es el siguiente en orden de prioridad.
   + El valor en la declaración del archivo buildspec tiene la prioridad más baja.

   Para obtener información sobre los valores válidos para estos marcadores de posición, consulte [Crear un proyecto de compilación (AWS CLI)](create-project.md#create-project-cli). Para obtener una lista de las últimas opciones de configuración de un proyecto de compilación, consulte [Visualización de los detalles de un proyecto de compilación](view-project-details.md).

1. Cambie al directorio que contiene el archivo que acaba de guardar y ejecute de nuevo el comando `start-build`.

   ```
   aws codebuild start-build --cli-input-json file://start-build.json
   ```

1. Si el comando se ejecuta correctamente, aparecerán datos similares a los que se describen en el procedimiento [Para ejecutar la compilación](getting-started-overview.md#getting-started-run-build-cli) en el resultado.

Para trabajar con información detallada acerca de esta compilación, anote el valor de `id` en la salida y después consulte [Ver detalles de las compilaciones (AWS CLI)](view-build-details.md#view-build-details-cli).

# Ejecutar una compilación por lotes (AWS CLI)
<a name="run-batch-build-cli"></a>

1. Ejecute el comando `start-build-batch` de una de las siguientes formas:

   ```
   aws codebuild start-build-batch --project-name <project-name>
   ```

   Utilice esta opción si desea ejecutar una compilación que utilice la última versión del artefacto de entrada de la compilación y la configuración existente del proyecto de compilación.

   ```
   aws codebuild start-build-batch --generate-cli-skeleton > <json-file>
   ```

   Utilice esta opción si desea ejecutar una versión de compilación con una versión anterior del artefacto de entrada de compilación o si desea anular la configuración de los artefactos de salida de compilación, variables de entorno, especificación de compilación o período de tiempo de espera de compilación predeterminado.

1. Si ejecuta el comando **start-build-batch** con la opción `--project-name`, sustituya *<project-name>* por el nombre del proyecto de compilación y vaya al paso 6 de este procedimiento. Para obtener una lista de proyectos de compilación, consulte [Visualización de los nombres de los proyectos de compilación](view-project-list.md).

1. Si ejecuta el comando **start-build-batch** con la opción `--idempotency-token`, se incluye un identificador único en el que se distingue entre mayúsculas y minúsculas, o token, con la solicitud de `start-build-batch`. El token es válido durante 5 minutos después de la solicitud. Si repite la solicitud `start-build-batch` con el mismo token, pero cambia un parámetro, CodeBuild devuelve un error de coincidencia de parámetros.

1. Si ejecuta el comando **start-build-batch** con la opción `--generate-cli-skeleton`, se envían datos en formato JSON al archivo *<json-file>*. Este archivo es similar al esqueleto producido por el comando **start-build**, con la incorporación del objeto siguiente. Para obtener más información acerca de los objetos comunes, consulte [Ejecutar una compilación (AWS CLI)](run-build-cli.md).

   Modifique este archivo para añadir cualquier modificación a la compilación y guarde los resultados.

   ```
     "buildBatchConfigOverride": {
       "combineArtifacts": combineArtifacts,
       "restrictions": {
         "computeTypesAllowed": [
           allowedComputeTypes
         ],
         "maximumBuildsAllowed": maximumBuildsAllowed
       },
       "serviceRole": "batchServiceRole",
       "timeoutInMins": batchTimeout
     }
   ```

   El objeto `buildBatchConfigOverride` es una estructura [ProjectBuildBatchConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html) que contiene las modificaciones a la configuración de compilación por lotes para esta compilación.  
*combineArtifacts*  
Especifica si los artefactos de compilación para la compilación por lotes se deben combinar en una única ubicación de artefactos.  
*allowedComputeTypes*  
Una matriz de cadenas que especifican los tipos de computación permitidos para la compilación por lotes. Consulte los valores en [Tipos de computación del entorno de compilación](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html).   
*maximumBuildsAllowed*  
Especifica el número máximo de compilaciones permitidas.  
*batchServiceRole*  
Especifica el ARN del rol de servicio para el proyecto de compilación por lotes.  
*batchTimeout*  
Especifica la cantidad máxima de tiempo, en minutos, en que se debe completar la compilación por lotes.

1. Cambie al directorio que contiene el archivo que acaba de guardar y ejecute de nuevo el comando `start-build-batch`.

   ```
   aws codebuild start-build-batch --cli-input-json file://start-build.json
   ```

1. Si se ejecuta correctamente, la salida de la consola muestra la representación en JSON de un objeto [BuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_BuildBatch.html). Consulte [Sintaxis de respuesta de StartBuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuildBatch.html#API_StartBuildBatch_ResponseSyntax) para ver un ejemplo de estos datos.

# Iniciar la ejecución de compilaciones automáticamente (AWS CLI)
<a name="run-build-cli-auto-start"></a>

Si tu código fuente está almacenado en un repositorio de GitHub Enterprise Server GitHub o en uno de Enterprise Server, puedes usar GitHub webhooks para AWS CodeBuild reconstruir tu código fuente cada vez que se introduzca un cambio de código en el repositorio.

Ejecute el comando **create-webhook** de la siguiente manera:

```
aws codebuild create-webhook --project-name <project-name>
```

*<project-name>*es el nombre del proyecto de compilación que contiene el código fuente que se va a reconstruir.

Pues GitHub, en el resultado aparece información similar a la siguiente:

```
{
  "webhook": {
    "url": "<url>"
  }
}
```

*<url>*es la URL del GitHub webhook.

En el GitHub caso de Enterprise Server, en el resultado aparece información similar a la siguiente:

![\[Información de la salida del ejemplo.\]](http://docs.aws.amazon.com/es_es/codebuild/latest/userguide/images/create-webhook-ghe.png)


1. Copie la URL de carga y la clave secreta de la salida. Los necesita para añadir un webhook en GitHub Enterprise Server. 

1. En GitHub Enterprise Server, elige el repositorio en el que está almacenado tu CodeBuild proyecto. Elija **Settings (Configuración)**, elija **Hooks & services (Enlaces y servicios)** y, a continuación, elija **Add webhook (Añadir webhook)**. 

1. Introduzca la URL de carga y la clave secreta, acepte los valores predeterminados para el resto de los campos y elija **Add webhook**.

# Detener la ejecución de compilaciones automáticamente (AWS CLI)
<a name="run-build-cli-auto-stop"></a>

Si tu código fuente está almacenado en un repositorio de GitHub Enterprise Server GitHub o en uno de Enterprise Server, puedes configurar GitHub webhooks para que AWS CodeBuild reconstruyan tu código fuente cada vez que se introduzca un cambio de código en el repositorio. Para obtener más información, consulte [Iniciar la ejecución de compilaciones automáticamente (AWS CLI)](run-build-cli-auto-start.md).

Si ha activado este comportamiento, puede desactivarlo ejecutando los comandos `delete-webhook` como se indica a continuación:

```
aws codebuild delete-webhook --project-name <project-name>
```
+ donde *<project-name>* es el nombre del proyecto de compilación que contiene el código fuente que se va a reconstruir.

Si este comando se ejecuta correctamente, no aparecerá información ni errores en el resultado.

**nota**  
Esto elimina el webhook únicamente de tu CodeBuild proyecto. También debes eliminar el webhook de tu repositorio GitHub o de GitHub Enterprise Server.

# Ejecutar una compilación (AWS SDKs)
<a name="run-build-sdks"></a>

 CodePipeline Para ejecutar una compilación con AWS CodeBuild, omita estos pasos y, en [Úselo AWS CodeBuild con AWS CodePipeline para probar el código y ejecutar compilaciones](how-to-create-pipeline.md) su lugar, siga las instrucciones que aparecen en él.

Para obtener información sobre su uso CodeBuild con AWS SDKs, consulte la[AWS SDKs y referencia de herramientas](sdk-ref.md).