Enviar una revisión CodeDeploy a Amazon S3 (solo para implementaciones de EC2/on-premise) - AWS CodeDeploy

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.

Enviar una revisión CodeDeploy a Amazon S3 (solo para implementaciones de EC2/on-premise)

Tras planificar la revisión tal y como se describe en Planifique una revisión para CodeDeploy y añadir un AppSpec archivo a la revisión tal y como se describe enAñadir un archivo de especificaciones de la aplicación a una revisión de CodeDeploy, estará listo para agrupar los archivos de los componentes y enviar la revisión a Amazon S3. Para las implementaciones en instancias de Amazon EC2, después de enviar la revisión, puede CodeDeploy utilizarla para implementar la revisión desde Amazon S3 en las instancias.

nota

CodeDeploy también se puede usar para implementar las revisiones que se han transferido. GitHub Para obtener más información, consulte GitHub la documentación.

Suponemos que ya ha seguido las instrucciones de Empezar con CodeDeploy para configurar la AWS CLI. Esto resulta de gran importancia para ejecutar el comando push que se describe más adelante.

Asegúrese de que tiene un bucket de Amazon S3. Siga las instrucciones de Crear un bucket.

Si la implementación se realiza en instancias de Amazon EC2, el bucket de Amazon S3 de destino se debe crear o encontrar en la misma región que las instancias de destino. Por ejemplo, si quiere implementar una revisión en algunas instancias de la región Este de EE. UU. (Norte de Virginia) y otras instancias en la región Oeste de EE. UU. (Oregón), debe tener un bucket en la región Este de EE. UU. (Norte de Virginia) con una copia de la revisión y otro en la región Oste de EE. UU. (Oregón) con otra copia de la misma revisión. En este caso, debería crear dos implementaciones independientes, una en la región Este de EE. UU. (Norte de Virginia) y otra en la región Oeste de EE. UU. (Oregón), aunque la revisión es la misma en ambas regiones y en ambos buckets.

Debe tener permisos para cargar en el bucket de Amazon S3. Puede especificar estos permisos mediante una política de bucket de Amazon S3. Por ejemplo, en la siguiente política de bucket de Amazon S3, el uso del carácter comodín (*) permite 111122223333 a la AWS cuenta cargar archivos en cualquier directorio del bucket de Amazon S3 denominadoDOC-EXAMPLE-BUCKET:

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Para ver el ID de su AWS cuenta, consulte Cómo encontrar el ID de su AWS cuenta.

Para aprender a generar y vincular una política de bucket de Amazon S3, consulte Ejemplos de políticas de bucket.

El usuario que llama al comando push debe disponer, como mínimo, de permisos para cargar la revisión en cada bucket de Amazon S3 de destino. Por ejemplo, la siguiente política permite que el usuario cargue revisiones en cualquier lugar del bucket de Amazon S3 denominado DOC-EXAMPLE-BUCKET:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

Para obtener información sobre cómo crear y vincular una política de IAM, consulte Trabajo con políticas.

Impulsa una revisión mediante el AWS CLI

nota

El push comando agrupa los artefactos de la aplicación y un AppSpec archivo en una revisión. El formato de archivo de esta revisión es un archivo ZIP comprimido. El comando no se puede usar con una implementación de AWS Lambda o Amazon ECS porque cada una espera una revisión que sea un archivo con formato JSON o con formato YAML. AppSpec

Ejecute el comando push para agrupar y enviar la revisión de una implementación. Sus parámetros son:

  • --application-name: (cadena) obligatorio. El nombre de la aplicación que se va a asociar a la CodeDeploy revisión de la aplicación.

  • --s3-location: (cadena) obligatorio. Información sobre la ubicación de la revisión de la aplicación que se cargará en Amazon S3. Debe especificar un bucket de Amazon S3 y una clave. La clave es el nombre de la revisión. CodeDeploy comprime el contenido antes de cargarlo. Utilice el formato s3://DOC-EXAMPLE-BUCKET/your-key.zip.

  • --ignore-hidden-files o --no-ignore-hidden-files: (booleano) opcional. Utilice la marca --no-ignore-hidden-files (el valor predeterminado) para empaquetar y cargar archivos ocultos en Amazon S3. Utilice la marca --ignore-hidden-files para no empaquetar y cargar archivos ocultos en Amazon S3.

  • --source (cadena) opcional. La ubicación del contenido que se va a implementar y el AppSpec archivo de la máquina de desarrollo que se va a comprimir y cargar en Amazon S3. La ubicación se especifica como una ruta relativa al directorio actual. Si no se especifica la ruta relativa o si se utiliza un único punto para la ruta ("."), se utiliza el directorio actual.

  • --description (cadena) opcional. Un comentario que resume la revisión de la aplicación. Si no se especifica, se utiliza la cadena predeterminada «Cargado por AWS CLI hora UTC», donde «hora» es la hora actual del sistema en hora universal coordinada (UTC).

Puede utilizar el AWS CLI para enviar una revisión para una implementación de Amazon EC2. Un comando de envío de ejemplo tiene este aspecto:

En Linux, macOS o Unix:

aws deploy push \ --application-name WordPress_App \ --description "This is a revision for the application WordPress_App" \ --ignore-hidden-files \ --s3-location s3://DOC-EXAMPLE-BUCKET/WordPressApp.zip \ --source .

En Windows:

aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://DOC-EXAMPLE-BUCKET/WordPressApp.zip --source .

Este comando hace lo siguiente:

  • Asocia los archivos agrupados con una aplicación denominada WordPress_App.

  • Adjunta una descripción a la revisión.

  • Ignora los archivos ocultos.

  • Asigna a la revisión el nombre WordPressApp.zip y la envía a un bucket llamado DOC-EXAMPLE-BUCKET.

  • Agrupa todos los archivos del directorio raíz en la revisión.

Cuando la transferencia se realice correctamente, puede utilizar la consola AWS CLI o la CodeDeploy consola para implementar la revisión desde Amazon S3. Para implementar esta revisión con AWS CLI:

En Linux, macOS o Unix:

aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name your-deployment-config-name \ --deployment-group-name your-deployment-group-name \ --s3-location bucket=DOC-EXAMPLE-BUCKET,key=WordPressApp.zip,bundleType=zip

En Windows:

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=DOC-EXAMPLE-BUCKET,key=WordPressApp.zip,bundleType=zip

Para obtener más información, consulte Cree una implementación con CodeDeploy.