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-
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 spaceName
CodeCatalystWorkflowDevelopmentRole-
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. spaceName
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