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.
Referencia del archivo de definiciones de imágenes
Esta sección se incluye solo como referencia. Para obtener más información sobre cómo crear una canalización con acciones de código fuente o de implementación para contenedores, consulte Crea una canalización, etapas y acciones.
AWS CodePipeline Los trabajadores de trabajo para las acciones de contenedor, como una acción de ECR origen de Amazon o acciones de ECS despliegue de Amazon, utilizan archivos de definiciones para asignar la imagen URI y el nombre del contenedor a la definición de la tarea. Cada archivo de definiciones tiene un JSON formato de archivo que el proveedor de la acción utiliza de la siguiente manera:
-
Las implementaciones ECS estándar de Amazon requieren un
imagedefinitions.json
archivo como entrada para la acción de implementación. Para ver un tutorial que utiliza la acción de despliegue ECS estándar de Amazon en CodePipeline, consulteTutorial: Implementación ECS estándar de Amazon con CodePipeline. -
Las implementaciones ECS azul/verde de Amazon requieren un
imageDetail.json
archivo como entrada para la acción de implementación. Para ver un tutorial con un ejemplo de implementación azul/verde, consulte. Tutorial: Crear una canalización con una ECR fuente y una ECS implementación de Amazon CodeDeploy-
Las acciones de ECR origen de Amazon generan un
imageDetail.json
archivo que se proporciona como resultado de la acción de origen.
-
Temas
Archivo imagedefinitions.json para las acciones de despliegue estándar de Amazon ECS
Un documento de definiciones de imágenes es un JSON archivo que describe el nombre de tu ECS contenedor de Amazon, así como la imagen y la etiqueta. Si está implementando aplicaciones basadas en contenedores, debe generar un archivo de definiciones de imágenes para proporcionar al trabajador el CodePipeline ECS contenedor de Amazon y la identificación de la imagen para recuperarlos del repositorio de imágenes, como Amazon. ECR
nota
El nombre predeterminado del archivo es imagedefinitions.json
. Si utiliza otro nombre de archivo, debe proporcionarlo al crear la etapa de implementación de la canalización.
Cree el archivo imagedefinitions.json
teniendo en cuenta lo siguiente:
-
El archivo debe usar la codificación UTF -8.
-
El límite de tamaño máximo de archivo para el archivo de definiciones de imágenes es de 100 KB.
-
Debe crear el archivo como un artefacto de código fuente o de compilación para que sea un artefacto de entrada para la acción de implementación. En otras palabras, asegúrese de que el archivo se haya cargado en su ubicación de origen, como el CodeCommit repositorio, o que se haya generado como un artefacto de salida creado.
El imagedefinitions.json
archivo proporciona el nombre y la imagen URI del contenedor. Debe crearse con el siguiente conjunto de pares clave-valor.
Clave | Valor |
---|---|
name | container_name |
imageUri | imageUri |
nota
El campo de nombre se usa para el nombre de la imagen del contenedor, es decir, el nombre de la imagen de Docker.
Esta es la JSON estructura, donde está el nombre del contenedorsample-app
, la imagen URI y la etiqueta: ecs-repo
latest
[ { "name": "sample-app", "imageUri": "11111EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest" } ]
También puede construir el archivo para que incluya varios pares contenedor-imagen.
JSONestructura:
[ { "name": "simple-app", "imageUri": "httpd:2.4" }, { "name": "simple-app-1", "imageUri": "mysql" }, { "name": "simple-app-2", "imageUri": "java1.8" } ]
Antes de crear la canalización, siga los pasos que se indican a continuación para configurar el archivo imagedefinitions.json
.
-
Como parte de la planificación de la implementación de aplicaciones basadas en contenedores para la canalización, planifique la etapa de código fuente y la etapa de compilación, si procede.
-
Seleccione una de las siguientes opciones:
-
Si tu canalización se crea de forma que se salte la fase de creación, debes crear el JSON archivo manualmente y subirlo a tu repositorio de origen para que la acción de origen pueda proporcionar el artefacto. Cree el archivo con un editor de texto y asígnele un nombre, o utilice el nombre de archivo
imagedefinitions.json
predeterminado. Envíe el archivo de definiciones de imágenes al repositorio de código fuente.nota
Si su repositorio de origen es un bucket de Amazon S3, recuerde comprimir el JSON archivo.
-
Si la canalización dispone de una etapa de compilación, añada un comando al archivo de especificación de compilación que genera el archivo de definiciones de imágenes en el repositorio de código fuente durante la etapa de compilación. En el siguiente ejemplo, se utiliza el comando printf para crear un archivo
imagedefinitions.json
. Incluya este comando en la secciónpost_build
del archivobuildspec.yml
:printf '[{"name":"
container_name
","imageUri":"image_URI
"}]' > imagedefinitions.jsonDebe incluir el archivo de definiciones de imágenes como artefacto de salida en el archivo
buildspec.yml
.
-
-
Al crear la canalización en la consola, introduzca el nombre del archivo de definiciones de imágenes en el campo Image Filename (Nombre del archivo de imágenes) de la página Deploy (Implementación) del asistente Create Pipeline (Crear canalización).
Para ver un step-by-step tutorial sobre cómo crear una canalización que utilice Amazon ECS como proveedor de despliegues, consulta el Tutorial: Despliegue continuo con CodePipeline.
imageDetailArchivo.json para las acciones de despliegue ECS azul/verde de Amazon
Un imageDetail.json
documento es un JSON archivo que describe tu ECS imagen de AmazonURI. Si va a implementar aplicaciones basadas en contenedores para una implementación azul/verde, debe generar el imageDetail.json
archivo para proporcionar a Amazon ECS y al trabajador CodeDeploy laboral la identificación de la imagen para recuperarla del repositorio de imágenes, como Amazon. ECR
nota
El nombre del archivo debe ser imageDetail.json
.
Para ver una descripción de la acción y el resto de parámetros, consulte Referencia de acciones de despliegue de Amazon Elastic Container Service y CodeDeploy azul-verde.
Debe crear el archivo imageDetail.json
como un artefacto de código fuente o de compilación para que sea un artefacto de entrada para la acción de implementación. Puede utilizar uno de estos métodos para proporcionar el archivo imageDetail.json
en la canalización:
-
Incluye el
imageDetail.json
archivo en tu ubicación de origen para que se incluya en la canalización como entrada para tu acción de despliegue ECS azul/verde de Amazon.nota
Si su repositorio de origen es un bucket de Amazon S3, recuerde comprimir el JSON archivo.
-
Las acciones ECR fuente de Amazon generan automáticamente un
imageDetail.json
archivo como artefacto de entrada para la siguiente acción.nota
Como la acción de ECR origen de Amazon crea este archivo, las canalizaciones con una acción de ECR origen de Amazon no necesitan proporcionar un
imageDetail.json
archivo manualmente.Para ver un tutorial sobre cómo crear una canalización que incluya una etapa de ECR origen de Amazon, consulteTutorial: Crear una canalización con una ECR fuente y una ECS implementación de Amazon CodeDeploy .
El imageDetail.json
archivo proporciona la imagen. URI Debe crearse con el siguiente par clave-valor.
Clave | Valor |
---|---|
Imagen URI | image_URI |
Antes de crear la canalización, siga los pasos que se indican a continuación para configurar el archivo imageDetail.json
.
-
Como parte de la planificación de la implementación blue/green de aplicaciones basadas en contenedores para la canalización, planifique la etapa de código fuente y la etapa de compilación, si procede.
-
Seleccione una de las siguientes opciones:
-
Si tu proceso se ha saltado la fase de creación, debes crear el JSON archivo manualmente y subirlo a tu repositorio de origen, por ejemplo, para que la acción de origen pueda proporcionar el artefacto. CodeCommit Cree el archivo con un editor de texto y asígnele un nombre, o utilice el nombre de archivo
imageDetail.json
predeterminado. Envíe elimageDetail.json
archivo al repositorio de código fuente. -
Si la canalización tiene una etapa de compilación, haga lo siguiente:
-
Añada un comando al archivo de especificación de compilación que genera el archivo de definiciones de imágenes en el repositorio de código fuente durante la fase de compilación. En el siguiente ejemplo, se utiliza el comando printf para crear un archivo
imageDetail.json
. Incluya este comando en la secciónpost_build
del archivo buildspec.yml:printf '{"ImageURI":"
image_URI
"}' > imageDetail.jsonDebe incluir el archivo
imageDetail.json
como artefacto de salida en el archivobuildspec.yml
. -
Añada el archivo
imageDetail.json
como artefacto en el archivobuildspec.yml
.artifacts: files: - imageDetail.json
-
-