Definición de YAML de la acción «Implementar en Amazon ECS» - 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.

Definición de YAML de la acción «Implementar en Amazon ECS»

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, consulteImplementación de una aplicación en Amazon Elastic Container Service (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 YAML.

nota

La mayoría de las propiedades de YAML que aparecen a continuación tienen los elementos de interfaz de usuario correspondientes en el editor visual. Para buscar un elemento de la interfaz de usuario, usa Ctrl+F. El elemento aparecerá en la lista con su propiedad 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: DeployToECS 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 en el flujo de trabajo. Los nombres de las acciones se limitan a caracteres alfanuméricos (a-z, A-Z, 0-9), guiones (-) y guiones bajos (_). No se permiten espacios. No se pueden usar comillas para habilitar los caracteres especiales y los espacios en los nombres de las acciones.

Predeterminado: ECSDeployAction_nn.

Interfaz de usuario correspondiente: pestaña de configuración o nombre para mostrar 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 Especificar la versión principal, secundaria o de parche de una acción.

Predeterminado: aws/ecs-deploy@v1.

Interfaz de usuario correspondiente: diagrama de flujo de trabajo/etiqueta ECS DeployAction _nn/ aws/ecs-deploy @v1

DependsOn

(ECSDeployAction/DependsOn)

(Opcional)

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

Para obtener más información sobre la funcionalidad «depende de», consulte. Configurar acciones para que dependan de otras acciones

Interfaz de usuario correspondiente: pestaña de entradas/Depende de: opcional

Compute

(ECSDeployAction/Compute)

(Opcional)

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

Interfaz de usuario correspondiente: ninguna

Type

(ECSDeployAction/Compute/Type)

(Obligatorio si Compute está incluido)

El tipo de motor de cómputo. Puede usar uno de los siguientes valores:

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

    Optimizado para ofrecer flexibilidad durante las ejecuciones de acción.

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

    Velocidades de inicio de acciones optimizadas.

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

Interfaz de usuario correspondiente: pestaña de configuración/Avanzada: opcional/tipo de cálculo

Fleet

(ECSDeployAction/Compute/Fleet)

(Opcional)

Especifique la máquina o 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 la flota bajo demanda

Con las flotas aprovisionadas, puede configurar un conjunto de máquinas dedicadas para ejecutar las acciones de su flujo de trabajo. Estas máquinas permanecen inactivas y listas para procesar las acciones de forma inmediata. Para obtener más información sobre las flotas aprovisionadas, consulte. Propiedades de la flota aprovisionada

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

Interfaz de usuario correspondiente: pestaña de configuración/Avanzada: opcional/Flota de cómputo

Timeout

(ECSDeployAction/Timeout)

(Opcional)

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

Interfaz de usuario correspondiente: pestaña de configuración/tiempo de espera: opcional

Environment

(ECSDeployAction/Environment)

(Obligatorio)

Especifique el CodeCatalyst entorno que se va a utilizar con la acción.

Para obtener más información sobre los entornos, consulte Implementación en Cuentas de AWS entornos y VPC con ellos CodeCatalyst yCreación de un entorno.

Interfaz de usuario correspondiente: pestaña de configuración/'Ambiento/Cuenta/Role'/ Entorno

Name

(ECSDeployAction/Environment/Name)

(EnvironmentObligatorio si está incluido)

Especifique el nombre de un entorno existente que desee asociar a la acción.

Interfaz de usuario correspondiente: pestaña de configuración/'Ambiento/Cuenta/Role'/ Entorno

Connections

(ECSDeployAction/Environment/Connections)

(EnvironmentObligatorio si está incluido)

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

Para obtener más información sobre las conexiones de cuentas, consultePermitir el acceso a AWS los recursos con conexión Cuentas de AWS. Para obtener información sobre cómo asociar una conexión de cuenta a su entorno, consulteCreación de un entorno.

Interfaz de usuario correspondiente: pestaña de configuración/'entorno/cuenta/rola'/ conexión AWS de cuenta

Name

(ECSDeployAction/Environment/Connections/Name)

(Obligatorio)

Especifique el nombre de la conexión de la cuenta.

Interfaz de usuario correspondiente: pestaña de configuración/'entorno/cuenta/rola'/ conexión AWS de la cuenta

Role

(ECSDeployAction/Environment/Connections/Role)

(Obligatorio)

Especifique el nombre de la función de IAM a la que la acción Deploy to Amazon ECS utiliza para acceder AWS. Asegúrese de que esta función incluya 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 para la 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, utilice el siguiente comodín en la declaración de política de recursos y, a continuación, defina 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" } ] }

Asegúrese de añadir este rol a la conexión de su cuenta. Para obtener más información sobre cómo añadir un rol de IAM a una conexión de cuenta, consulteAñadir funciones de IAM a las conexiones de cuentas.

nota

Si lo desea, puede especificar el nombre del CodeCatalystWorkflowDevelopmentRole-spaceName rol aquí. Para obtener más información acerca de este rol, consulte Crear el CodeCatalystWorkflowDevelopmentRole-spaceNamerol para su cuenta y su espacio. Ten en cuenta que el CodeCatalystWorkflowDevelopmentRole-spaceName rol tiene permisos muy amplios, lo que puede suponer un riesgo para la seguridad. Te recomendamos que solo utilices este rol en los tutoriales y en situaciones en las que la seguridad sea un problema menor.

Interfaz de usuario correspondiente: pestaña de configuración/'Ambiento/Cuenta/Role'/ Rol

Inputs

(ECSDeployAction/Inputs)

(Opcional)

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

nota

Solo se permite una entrada (ya sea una fuente o un artefacto) por cada acción de implementación en Amazon ECS.

Interfaz de usuario correspondiente: pestaña de entradas

Sources

(ECSDeployAction/Inputs/Sources)

(Necesario si el archivo de definición de tareas está almacenado en un repositorio de origen)

Si el archivo de definición de tareas está almacenado en un repositorio de origen, especifique la etiqueta de ese repositorio de origen. Actualmente, la única etiqueta admitida esWorkflowSource.

Si el archivo de definición de tareas no está contenido en un repositorio de origen, debe residir en un artefacto generado por otra acción.

Para obtener más información sobre orígenes, consulte Conexión de un flujo de trabajo a un repositorio de origen.

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

Artifacts - input

(ECSDeployAction/Inputs/Artifacts)

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

Si el archivo de definición de tareas que desea implementar está contenido en un artefacto generado por una acción anterior, especifique ese artefacto aquí. Si el archivo de definición de tareas no está contenido en un artefacto, debe residir en el repositorio de origen.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulteCompartir datos entre acciones de un flujo de trabajo mediante artefactos.

Interfaz de usuario correspondiente: pestaña de 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 de configuración

region

(Configuration/region)

(Obligatorio)

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

Interfaz de usuario correspondiente: pestaña de configuración/región

cluster

(ECSDeployAction/Configuration/cluster)

(Obligatorio)

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

Interfaz de usuario correspondiente: pestaña de configuración/clúster

service

(ECSDeployAction/Configuration/service)

(Obligatorio)

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

Interfaz de usuario correspondiente: pestaña de configuración/servicio

task-definition

(ECSDeployAction/Configuration/task-definition)

(Obligatorio)

Especifique la ruta a un archivo de definición de tareas existente. Si el archivo reside en el repositorio de origen, la ruta es relativa a la carpeta raíz del repositorio de origen. Si el archivo reside en un artefacto de una acción de 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 Definiciones de tareas en la Guía para desarrolladores de Amazon Elastic Container Service.

Interfaz de usuario correspondiente: pestaña de configuración/definición de tareas

force-new-deployment

(ECSDeployAction/Configuration/force-new-deployment)

(Obligatorio)

Si está habilitado, el servicio 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 Actualización de un servicio en la Guía para desarrolladores de Amazon Elastic Container Service.

Valor predeterminado: false

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

codedeploy-appspec

(ECSDeployAction/Configuration/codedeploy-appspec)

(Obligatorio si ha configurado su servicio Amazon ECS para utilizar implementaciones azul/verde; de lo contrario, omita)

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

nota

Proporcione CodeDeploy información únicamente si ha configurado su servicio Amazon ECS para realizar despliegues azules o verdes. En el caso de las implementaciones de actualizaciones sucesivas (opción predeterminada), omita la información. CodeDeploy Para obtener más información sobre las implementaciones de Amazon ECS, consulte los tipos de implementación de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.

nota

Es posible que los CodeDeploycampos estén ocultos en el editor visual. Para hacer que aparezcan, consulte¿Por qué faltan CodeDeploy campos en el editor visual?.

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

codedeploy-application

(ECSDeployAction/Configuration/codedeploy-application)

(Obligatorio si codedeploy-appspec está incluido)

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

Interfaz de usuario correspondiente: pestaña de configuración/aplicación CodeDeploy

codedeploy-deployment-group

(ECSDeployAction/Configuration/codedeploy-deployment-group)

(Obligatorio si codedeploy-appspec está incluido)

Especifique el nombre de un grupo de CodeDeploy implementación existente. Para obtener más información sobre los grupos de CodeDeploy despliegue, consulte Trabajar con grupos de despliegue CodeDeploy en la Guía del AWS CodeDeploy usuario.

Interfaz de usuario correspondiente: pestaña de configuración/grupo CodeDeploy de despliegue

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 Trabajar con despliegues CodeDeploy en la Guía del AWS CodeDeploy usuario.

Interfaz de usuario correspondiente: pestaña de configuración/descripción CodeDeploy de la implementación