Amazon Elastic Container Service - AWS CodePipeline

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.

Amazon Elastic Container Service

Puede utilizar una acción de Amazon ECS para implementar un conjunto de tareas y un servicio de Amazon ECS. Un servicio de Amazon ECS es una aplicación de contenedor que se implementa en un clúster de Amazon ECS. Un clúster de Amazon ECS es una colección de instancias que alojan su aplicación de contenedores en la nube. La implementación requiere una definición de tareas que cree en Amazon ECS y un archivo de definiciones de imágenes que se CodePipeline utilice para implementar la imagen.

importante

La acción de despliegue estándar de Amazon ECS CodePipeline crea su propia revisión de la definición de la tarea en función de la revisión utilizada por el servicio Amazon ECS. Si crea nuevas revisiones para la definición de la tarea sin actualizar el servicio Amazon ECS, la acción de implementación ignorará esas revisiones.

Antes de crear la canalización, debe haber creado los recursos de Amazon ECS, haber etiquetado y almacenado la imagen en su repositorio de imágenes y haber cargado el BuildSpec archivo en su repositorio de archivos.

nota

En este tema de referencia se describe la acción de implementación estándar de Amazon ECS para CodePipeline. Para obtener información de referencia sobre las acciones de implementación de Amazon ECS a CodeDeploy azul/verde en CodePipeline, consulte. Amazon Elastic Container Service y CodeDeploy azul-verde

Tipo de acción

  • Categoría: Deploy

  • Propietario: AWS

  • Proveedor: ECS

  • Versión: 1

Parámetros de configuración

ClusterName

Obligatorio: sí

El clúster de Amazon ECS en Amazon ECS.

ServiceName

Obligatorio: sí

El servicio de Amazon ECS que creó en Amazon ECS.

FileName

Obligatorio: no

El nombre de su archivo de definiciones de imagen, el archivo JSON que describe el nombre del contenedor de su servicio y la imagen y la etiqueta. Este archivo se utiliza para las implementaciones estándar de ECS. Para obtener más información, consulte Artefactos de entrada y Archivo imagedefinitions.json para las acciones de implementación estándar de .

DeploymentTimeout

Obligatorio: no

El tiempo de espera de la acción de implementación de Amazon ECS en minutos. El tiempo de espera se puede configurar hasta el tiempo de espera predeterminado máximo para esta acción. Por ejemplo:

"DeploymentTimeout": "15"

Artefactos de entrada

  • Número de artefactos: 1

  • Descripción: la acción busca un archivo imagedefinitions.json en el repositorio de archivos de origen para la canalización. Un documento de definiciones de imágenes es un archivo JSON que describe el nombre del contenedor de Amazon ECS, así como la imagen y la etiqueta. CodePipeline utiliza el archivo para recuperar la imagen de su repositorio de imágenes, como Amazon ECR. Puede añadir manualmente un archivo imagedefinitions.json para una canalización en la que la acción no esté automatizada. Para obtener más información sobre el archivo imagedefinitions.json, consulte Archivo imagedefinitions.json para las acciones de implementación estándar de .

    La acción requiere una imagen existente que ya se haya subido a su repositorio de imágenes. Como la asignación de imágenes la proporciona el archivo imagedefinitions.json, la acción no requiere que el origen de Amazon ECR se incluya como acción de origen en el proceso.

Artefactos de salida

  • Número de artefactos: 0

  • Descripción: los artefactos de salida no se aplican a este tipo de acción.

Declaración de acciones

YAML
Name: DeployECS ActionTypeId: Category: Deploy Owner: AWS Provider: ECS Version: '1' RunOrder: 2 Configuration: ClusterName: my-ecs-cluster ServiceName: sample-app-service FileName: imagedefinitions.json DeploymentTimeout: '15' OutputArtifacts: [] InputArtifacts: - Name: my-image
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "ECS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-ecs-cluster", "ServiceName": "sample-app-service", "FileName": "imagedefinitions.json", "DeploymentTimeout": "15" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "my-image" } ] },

Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.

  • Tutorial: Implementación continua con CodePipeline: en este tutorial se muestra cómo crear un Dockerfile que se almacena en un repositorio de archivos fuente, por ejemplo. CodeCommit A continuación, el tutorial muestra cómo incorporar un CodeBuild BuildSpec archivo que compila y envía la imagen de Docker a Amazon ECR y crea el archivo imagedefinitions.json. Por último, se crea una definición de tareas y servicios de Amazon ECS y, a continuación, se crea la canalización con una acción de implementación de Amazon ECS.

    nota

    Este tema y este tutorial describen la acción de implementación estándar de Amazon ECS para CodePipeline. Para obtener información sobre las acciones de despliegue de Amazon ECS a CodeDeploy azul/verde en CodePipeline, consulte. Tutorial: Creación de una canalización con una fuente de Amazon ECR y de ECS a su implementación CodeDeploy

  • Guía para desarrolladores de Amazon Elastic Container Service: para obtener información sobre cómo trabajar con imágenes y contenedores de Docker, los servicios y clústeres de Amazon ECS y los conjuntos de tareas de Amazon ECS, consulte ¿Qué es Amazon ECS?