Acción 'Deploy to Amazon ECS' de YAML - Amazon CodeCatalyst

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.

Acción 'Deploy to Amazon ECS' de YAML

La siguiente es la definición en YAML de la acción Deploy to Amazon ECS. Para obtener información sobre cómo utilizar esta acción, consulte Implementación en Amazon ECS con un flujo de trabajo.

Esta definición de acción existe como una sección dentro de un archivo de definición de flujo de trabajo más amplio. Para obtener más información acerca de este archivo, consulte Definición de flujo de trabajo en YAML.

nota

La mayoría de las propiedades de YAML que se muestran a continuación tienen elementos de interfaz de usuario correspondientes en el editor visual. Para buscar un elemento de la interfaz de usuario, use Ctrl+F. El elemento aparecerá en la lista con su propiedad de YAML asociada.

# The workflow definition starts here. # See Propiedades de nivel superior for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. ECSDeployAction_nn: Identifier: aws/ecs-deploy@v1 DependsOn: - build-action Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Inputs: # Specify a source or an artifact, but not both. Sources: - source-name-1 Artifacts: - task-definition-artifact Configuration: region: us-east-1 cluster: ecs-cluster service: ecs-service task-definition: task-definition-path force-new-deployment: false|true codedeploy-appspec: app-spec-file-path codedeploy-application: application-name codedeploy-deployment-group: deployment-group-name codedeploy-deployment-description: deployment-description

ECSDeployAction

(Obligatorio)

Especifique el nombre de la acción. Todos los nombres de las acciones deben ser únicos dentro del flujo de trabajo. Los nombres de las acciones están limitados a caracteres alfanuméricos (a-z, A-Z y 0-9), guiones (-) y guiones bajos (_). No se permiten espacios. No puede utilizar comillas para permitir caracteres especiales ni espacios en los nombres de las acciones.

Predeterminado: ECSDeployAction_nn.

Interfaz de usuario correspondiente: pestaña Configuración/Nombre de visualización de la acción

Identifier

(ECSDeployAction/Identifier)

(Obligatorio)

Identifica la acción. No cambie esta propiedad a menos que desee cambiar la versión. Para obtener más información, consulte Especificación de la versión de la acción que se va a utilizar.

Predeterminado: aws/ecs-deploy@v1.

Interfaz de usuario correspondiente: Diagrama de flujo de trabajo/ECSDeployAction_nn/etiqueta aws/ecs-deploy@v1

DependsOn

(ECSDeployAction/DependsOn)

(Opcional)

Especifique la acción, el grupo de acciones o la puerta que debe ejecutarse correctamente para que esta acción se ejecute.

Para obtener más información sobre la funcionalidad “depende de”, consulte Secuenciación de acciones.

Interfaz de usuario correspondiente: pestaña Entradas/Depende de (opcional)

Compute

(ECSDeployAction/Compute)

(Opcional)

El motor de computación utilizado para ejecutar las acciones del flujo de trabajo. Puede especificar el motor de computación en el nivel del flujo de trabajo o en el nivel de acción, pero no en ambos. Cuando se especifica en el nivel de flujo de trabajo, la configuración del motor de computación se aplica a todas las acciones definidas en el flujo de trabajo. En el nivel de flujo de trabajo, también puede ejecutar varias acciones en la misma instancia. Para obtener más información, consulte Uso compartido de recursos de computación entre acciones.

Interfaz de usuario correspondiente: ninguna

Type

(ECSDeployAction/Compute/Type)

(Obligatorio si se incluye Compute)

El tipo de motor de computación. Puede utilizar uno de los siguientes valores.

  • EC2 (editor visual) o EC2 (editor de YAML)

    Optimizado para ofrecer flexibilidad durante las ejecuciones de acciones.

  • Lambda (editor visual) o Lambda (editor de YAML)

    Velocidades de inicio de acciones optimizadas.

Para obtener más información sobre los tipos de computación, consulte Tipos de computación.

Interfaz de usuario correspondiente: pestaña Configuración/Avanzada (opcional)/Tipo de computación

Fleet

(ECSDeployAction/Compute/Fleet)

(Opcional)

Especifique la máquina o la flota que ejecutará el flujo de trabajo o las acciones del flujo de trabajo. Con las flotas bajo demanda, cuando se inicia una acción, el flujo de trabajo aprovisiona los recursos que necesita y las máquinas se destruyen cuando finaliza la acción. Ejemplos de flotas bajo demanda: Linux.x86-64.Large, Linux.x86-64.XLarge. Para obtener más información sobre las flotas bajo demanda, consulte Propiedades de las flotas bajo demanda.

Con las flotas aprovisionadas, configura un conjunto de máquinas dedicadas para ejecutar las acciones del flujo de trabajo. Estas máquinas permanecen inactivas, listas para procesar acciones de forma inmediata. Para obtener más información sobre las flotas aprovisionadas, consulte Propiedades de flotas aprovisionadas.

Si Fleet se omite, el valor predeterminado es Linux.x86-64.Large.

Interfaz de usuario correspondiente: pestaña Configuración/Avanzada (opcional)/Flota de computación

Timeout

(ECSDeployAction/Timeout)

(Opcional)

Especifique la cantidad de tiempo, en minutos (editor de YAML) o en horas y minutos (editor visual) que la acción puede ejecutarse antes de que CodeCatalyst la finalice. El mínimo es 5 minutos y el máximo se describe en Cuotas para flujos de trabajo en CodeCatalyst. El tiempo de espera predeterminado es el mismo que el tiempo de espera máximo.

Interfaz de usuario correspondiente: pestaña Configuración/Tiempo de espera (opcional)

Environment

(ECSDeployAction/Environment)

(Obligatorio)

Especifique el entorno de CodeCatalyst que se utilizará con la acción. La acción se conecta a la Cuenta de AWS y a la VPC de Amazon especificada en el entorno elegido. La acción utiliza el rol de IAM predeterminado especificado en el entorno para conectarse a la Cuenta de AWS, y utiliza el rol de IAM especificado en la conexión a la VPC de Amazon para conectarse a la VPC de Amazon.

nota

Si el rol de IAM predeterminado no tiene los permisos necesarios para la acción, puede configurarla para que utilice un rol diferente. Para obtener más información, consulte Cambio del rol de IAM de una acción.

Para obtener más información sobre los entornos, consulte Implementación en Cuentas de AWS y VPCs y Creación de un entorno.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno

Name

(ECSDeployAction/Environment/Name)

(Obligatorio si se incluye Environment)

Especifique el nombre del entorno existente que desea asociar a la acción.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno

Connections

(ECSDeployAction/Environment/Connections)

(Opcional en las versiones más recientes de la acción; obligatorio en las versiones más antiguas)

Especifique la conexión de cuenta que desee asociar a la acción. Puede especificar un máximo de una conexión de cuenta en Environment.

Si no especifica una conexión de cuenta:

  • La acción utiliza la conexión de la Cuenta de AWS y el rol de IAM predeterminado especificado en el entorno de la consola de CodeCatalyst. Para obtener información sobre cómo añadir una conexión de cuenta y un rol de IAM predeterminado al entorno, consulte Creación de un entorno.

  • El rol de IAM predeterminado debe incluir las políticas y los permisos que requiere la acción. Para determinar cuáles son esas políticas y permisos, consulte la descripción de la propiedad Role en la documentación de la definición de YAML de la acción.

Para obtener más información sobre las conexiones de cuenta, consulte Permitir el acceso a AWS los recursos con conexión Cuentas de AWS. Para obtener más información sobre cómo añadir una conexión de cuenta a un entorno, consulte Creación de un entorno.

Interfaz de usuario correspondiente: una de las siguientes, según la versión de la acción:

  • (Versiones más recientes) Pestaña Configuración/Entorno/¿Qué hay en mi-entorno?/menú de tres puntos/Cambiar rol

  • (Versiones más antiguas) pestaña Configuración/'Entorno/cuenta/rol'/Conexión de cuenta de AWS

Name

(ECSDeployAction/Environment/Connections/Name)

(Obligatorio si se incluye Connections)

Especifique el nombre de la conexión de cuenta.

Interfaz de usuario correspondiente: una de las siguientes, según la versión de la acción:

  • (Versiones más recientes) Pestaña Configuración/Entorno/¿Qué hay en mi-entorno?/menú de tres puntos/Cambiar rol

  • (Versiones más antiguas) pestaña Configuración/'Entorno/cuenta/rol'/Conexión de cuenta de AWS

Role

(ECSDeployAction/Environment/Connections/Role)

(Obligatorio si se incluye Connections)

Especifique el nombre del rol de IAM que la acción Deploy to Amazon ECS utiliza para acceder a AWS. Asegúrese de haber añadido el rol a su espacio de CodeCatalyst y de que el rol incluya las siguientes políticas.

Si no especifica un rol de IAM, la acción utilizará el rol de IAM predeterminado que aparece en el entorno en la consola de CodeCatalyst. Si usa el rol predeterminado en el entorno, asegúrese de que tenga las siguientes políticas.

  • La siguiente política de permisos:

    aviso

    Limite los permisos a los que se muestran en la siguiente política. El uso de un rol con permisos más amplios puede suponer un riesgo de seguridad.

    { "Version": "2012-10-17", "Statement": [{ "Action":[ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:DeleteTaskSet", "ecs:ListClusters", "ecs:RegisterTaskDefinition", "ecs:UpdateServicePrimaryTaskSet", "ecs:UpdateService", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "lambda:ListFunctions", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "s3:GetObject", "s3:GetObjectVersion", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment" ], "Resource":"*", "Effect":"Allow" },{"Action":[ "iam:PassRole" ], "Effect":"Allow", "Resource":"*", "Condition":{"StringLike":{"iam:PassedToService":[ "ecs-tasks.amazonaws.com", "codedeploy.amazonaws.com" ] } } }] }
    nota

    La primera vez que utilice el rol, use el siguiente comodín en la instrucción de política de recursos y, a continuación, precise el ámbito de la política con el nombre del recurso cuando esté disponible.

    "Resource": "*"
  • La siguiente política de confianza personalizada:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
nota

Puede usar el rol CodeCatalystWorkflowDevelopmentRole-spaceName con esta acción, si así lo desea. Para obtener más información acerca de este rol, consulte Creación del rol CodeCatalystWorkflowDevelopmentRole-spaceName para su cuenta y su espacio. Tenga en cuenta que el rol CodeCatalystWorkflowDevelopmentRole-spaceName tiene permisos de acceso total, lo que puede suponer un riesgo para la seguridad. Le recomendamos que utilice este rol solo en tutoriales y situaciones en las que la seguridad no sea un problema.

Interfaz de usuario correspondiente: una de las siguientes, según la versión de la acción:

  • (Versiones más recientes) Pestaña Configuración/Entorno/¿Qué hay en mi-entorno?/menú de tres puntos/Cambiar rol

  • (Versiones más antiguas) pestaña Configuración/'Entorno/cuenta/rol'/Rol

Inputs

(ECSDeployAction/Inputs)

(Opcional)

La sección Inputs define los datos que necesita la acción ECSDeployAction durante la ejecución de un flujo de trabajo.

nota

Solo se permite una entrada (ya sea un código fuente o un artefacto) para cada acción Deploy to Amazon ECS.

Interfaz de usuario correspondiente: pestaña Entradas

Sources

(ECSDeployAction/Inputs/Sources)

(Obligatorio si el archivo de definición de la tarea está almacenado en un repositorio de código fuente)

Si el archivo de definición de la tarea está almacenado en un repositorio de código fuente, especifique la etiqueta de dicho repositorio. Actualmente, la única etiqueta admitida es WorkflowSource.

Si el archivo de definición de la tarea no está incluido en un repositorio de código fuente, debe residir en un artefacto generado por otra acción.

Para obtener más información sobre orígenes, consulte Conexión de repositorios de código fuente a flujos de trabajo.

Interfaz de usuario correspondiente: pestaña Entradas/Orígenes (opcional)

Artifacts - input

(ECSDeployAction/Inputs/Artifacts)

(Obligatorio si el archivo de definición de la tarea está almacenado en un artefacto de salida de una acción anterior)

Si el archivo de definición de la tarea que desea implementar está incluido en un artefacto generado por una acción anterior, especifique ese artefacto aquí. Si el archivo de definición de la tarea no está incluido en un artefacto, debe residir en el repositorio de código fuente.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte Cómo compartir artefactos y archivos entre acciones.

Interfaz de usuario correspondiente: pestaña Configuración/Artefactos (opcional)

Configuration

(ECSDeployAction/Configuration)

(Obligatorio)

Una sección en la que puede definir las propiedades de configuración de la acción.

Interfaz de usuario correspondiente: pestaña Configuración

region

(Configuration/region)

(Obligatorio)

Especifique la región de AWS en la que residen el clúster y el servicio de Amazon ECS. Para obtener una lista de códigos de región, consulte Puntos de conexión regionales en la Referencia general de AWS.

Interfaz de usuario correspondiente: pestaña Configuración/Región

cluster

(ECSDeployAction/Configuration/cluster)

(Obligatorio)

Especifique el nombre de un clúster de Amazon ECS existente. La acción Deploy to Amazon ECS implementará la aplicación basada en contenedores como una tarea en este clúster. Para obtener más información sobre los clústeres de Amazon ECS, consulte Clusters en la Guía para desarrolladores de Amazon Elastic Container Service.

Interfaz de usuario correspondiente: pestaña Configuración/Clúster

service

(ECSDeployAction/Configuration/service)

(Obligatorio)

Especifique el nombre del servicio de Amazon ECS existente que creará la instancia del archivo de definición de la tarea. Este servicio debe residir en el clúster especificado en el campo cluster. Para obtener más información sobre los servicios de Amazon ECS, consulte Amazon ECS services en la Guía para desarrolladores de Amazon Elastic Container Service.

Interfaz de usuario correspondiente: pestaña Configuración/Servicio

task-definition

(ECSDeployAction/Configuration/task-definition)

(Obligatorio)

Especifique la ruta a un archivo de definición de la tarea existente. Si el archivo reside en el repositorio de código fuente, la ruta es relativa a la carpeta raíz del repositorio de código fuente. Si el archivo reside en un artefacto de una acción del flujo de trabajo anterior, la ruta es relativa a la carpeta raíz del artefacto. Para obtener más información sobre los archivos de definición de tareas, consulte Task definitions en la Guía para desarrolladores de Amazon Elastic Container Service.

Interfaz de usuario correspondiente: pestaña Configuración/Definición de tarea

force-new-deployment

(ECSDeployAction/Configuration/force-new-deployment)

(Obligatorio)

Si está habilitado, el servicio de Amazon ECS puede iniciar nuevas implementaciones sin cambios en la definición del servicio. Al forzar una implementación, el servicio detiene todas las tareas que se están ejecutando actualmente y lanza nuevas tareas. Para obtener más información sobre cómo forzar nuevas implementaciones, consulte Updating a service en la Guía para desarrolladores de Amazon Elastic Container Service.

Valor predeterminado: false

Interfaz de usuario correspondiente: pestaña Configuración/Forzar una nueva implementación del servicio

codedeploy-appspec

(ECSDeployAction/Configuration/codedeploy-appspec)

(Obligatorio si ha configurado el servicio de Amazon ECS para que utilice implementaciones azul/verde; de lo contrario, se omite)

Especifique el nombre y la ruta de un archivo de especificación de la aplicación de CodeDeploy (AppSpec) existente. Este archivo debe residir en la raíz del repositorio de código fuente de CodeCatalyst. Para obtener más información acerca de los archivos AppSpec, consulte CodeDeploy application specification (AppSpec) files en la Guía del usuario de AWS CodeDeploy.

nota

Proporcione la información de CodeDeploy únicamente si ha configurado el servicio de Amazon ECS para que realice implementaciones azul/verde. Para las implementaciones de actualizaciones sucesivas (la opción predeterminada), omita la información de CodeDeploy. Para obtener más información sobre las implementaciones de Amazon ECS, consulte Amazon ECS deployment types en la Guía para desarrolladores de Amazon Elastic Container Service.

nota

Los campos de CodeDeploy pueden estar ocultos en el editor visual. Para hacer que estén visibles, consulte ¿Por qué faltan CodeDeploy campos en el editor visual?.

Interfaz de usuario correspondiente: pestaña Configuración/CodeDeploy AppSpec

codedeploy-application

(ECSDeployAction/Configuration/codedeploy-application)

(Obligatorio si se incluye codedeploy-appspec)

Especifique el nombre de una aplicación de CodeDeploy existente. Para obtener más información sobre las aplicaciones de CodeDeploy, consulte Working with applications in CodeDeploy en la Guía del usuario de AWS CodeDeploy.

Interfaz de usuario correspondiente: pestaña Configuración/Aplicación de CodeDeploy

codedeploy-deployment-group

(ECSDeployAction/Configuration/codedeploy-deployment-group)

(Obligatorio si se incluye codedeploy-appspec)

Especifique el nombre de un grupo de implementación de CodeDeploy existente. Para obtener más información sobre los grupos de implementación de CodeDeploy, consulte Working with deployment groups in CodeDeploy en la Guía del usuario deAWS CodeDeploy.

Interfaz de usuario correspondiente: pestaña Configuración/Grupo de implementación de CodeDeploy

codedeploy-deployment-description

(ECSDeployAction/Configuration/codedeploy-deployment-description)

(Opcional)

Especifique una descripción de la implementación que creará esta acción. Para obtener más información, consulte Working with deployments in CodeDeploy en la Guía del usuario de AWS CodeDeploy.

Interfaz de usuario correspondiente: pestaña Configuración/Descripción de la implementación de CodeDeploy