As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Definição YAML da ação “Implantar no Amazon ECS”
A seguir está a definição YAML da ação Deploy to Amazon ECS. Para saber como usar essa ação, consulteImplantação de um aplicativo no Amazon Elastic Container Service (ECS) com um fluxo de trabalho.
Essa definição de ação existe como uma seção dentro de um arquivo de definição de fluxo de trabalho mais amplo. Para obter mais informações sobre esse arquivo, consulte Definição de fluxo de trabalho YAML.
nota
A maioria das propriedades YAML a seguir tem elementos de interface de usuário correspondentes no editor visual. Para pesquisar um elemento de interface do usuário, use Ctrl+F. O elemento será listado com sua propriedade YAML associada.
# The workflow definition starts here.
# See Propriedades de nível 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
(Obrigatório)
Especifique o nome da ação. Todos os nomes das ações devem ser exclusivos no fluxo de trabalho. Os nomes das ações são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hífens (-) e sublinhados (_). Não são permitidos espaços. Você não pode usar aspas para ativar caracteres especiais e espaços nos nomes das ações.
Padrão: ECSDeployAction_nn
.
UI correspondente: guia de configuração/nome de exibição da ação
Identifier
(ECSDeployAction
/Identifier)
(Obrigatório)
Identifica a ação. Não altere essa propriedade, a menos que você queira alterar a versão. Para ter mais informações, consulte Especificar a versão principal, secundária ou de patch de uma ação.
Padrão: aws/ecs-deploy@v1
.
UI correspondente: diagrama de fluxo de trabalho/ECS _nn/aws/ecs-deploy @v1 label DeployAction
DependsOn
(ECSDeployAction
/DependsOn)
(Optional)
Especifique uma ação, grupo de ação ou porta que deve ser executada com êxito para que essa ação seja executada.
Para obter mais informações sobre a funcionalidade “depende de”, consulte. Configurando ações para depender de outras ações
UI correspondente: guia Entradas/Depende de - opcional
Compute
(ECSDeployAction
/Compute)
(Optional)
O mecanismo de computação usado para executar suas ações de fluxo de trabalho. Você pode especificar a computação no nível do fluxo de trabalho ou no nível da ação, mas não em ambos. Quando especificada no nível do fluxo de trabalho, a configuração computacional se aplica a todas as ações definidas no fluxo de trabalho. No nível do fluxo de trabalho, você também pode executar várias ações na mesma instância. Para ter mais informações, consulte Compartilhamento de computação entre ações.
UI correspondente: nenhuma
Type
(ECSDeployAction
/Compute/Type)
(Obrigatório se Compute estiver incluído)
O tipo de mecanismo de computação. Você pode usar um dos seguintes valores:
-
EC2 (editor visual) ou
EC2
(editor YAML)Otimizado para flexibilidade durante as corridas de ação.
-
Lambda (editor visual) ou
Lambda
(editor YAML)Velocidades otimizadas de inicialização da ação.
Para obter informações sobre tipos de dados, consulte Tipos de computação.
UI correspondente: guia Configuração/Avançado - opcional/Tipo de computação
Fleet
(ECSDeployAction
/Compute/Fleet)
(Optional)
Especifique a máquina ou frota que executará seu fluxo de trabalho ou ações de fluxo de trabalho. Com frotas sob demanda, quando uma ação é iniciada, o fluxo de trabalho provisiona os recursos necessários e as máquinas são destruídas quando a ação termina. Exemplos de frotas sob demanda:Linux.x86-64.Large
,. Linux.x86-64.XLarge
Para obter mais informações sobre frotas sob demanda, consulte. Propriedades de frota sob demanda
Com frotas provisionadas, você configura um conjunto de máquinas dedicadas para executar suas ações de fluxo de trabalho. Essas máquinas permanecem ociosas, prontas para processar ações imediatamente. Para obter mais informações sobre frotas provisionadas, consulte. Propriedades da frota provisionada
Se Fleet
for omitido, o padrão será. Linux.x86-64.Large
UI correspondente: guia Configuração/Avançado - opcional/Frota de computação
Timeout
(ECSDeployAction
/Timeout)
(Optional)
Especifique a quantidade de tempo em minutos (editor YAML) ou horas e minutos (editor visual) que a ação pode ser executada antes de CodeCatalyst finalizar a ação. O mínimo é de 5 minutos e o máximo está descrito emCotas para fluxos de trabalho. O tempo limite padrão é igual ao tempo limite máximo.
UI correspondente: guia de configuração/tempo limite - opcional
Environment
(ECSDeployAction
/Environment)
(Obrigatório)
Especifique o CodeCatalyst ambiente a ser usado com a ação.
Para obter mais informações sobre ambientes, consulte Implantação em Contas da AWS e VPCs com ambientes CodeCatalyst Criar um ambiente e.
UI correspondente: guia de configuração/'Ambiente/Conta/Função'/Ambiente
Name
(ECSDeployAction
/Environment/Name)
(Obrigatório se Environment estiver incluído)
Especifique o nome de um ambiente existente que você deseja associar à ação.
UI correspondente: guia de configuração/'Ambiente/Conta/Função'/Ambiente
Connections
(ECSDeployAction
/Environment/Connections)
(Obrigatório se Environment estiver incluído)
Especifique a conexão da conta a ser associada à ação. Você pode especificar no máximo uma conexão de conta emEnvironment
.
Para obter mais informações sobre conexões de conta, consultePermitindo acesso a AWS recursos com conexão Contas da AWS. Para obter informações sobre como associar uma conexão de conta ao seu ambiente, consulteCriar um ambiente.
UI correspondente: guia de configuração/'Ambiente/conta/função'/ conexão AWS de conta
Name
(ECSDeployAction
/Environment/Connections/Name)
(Obrigatório)
Especifique o nome da conexão da conta.
UI correspondente: guia de configuração/'Ambiente/conta/função'/ conexão AWS de conta
Role
(ECSDeployAction
/Environment/Connections/Role)
(Obrigatório)
Especifique o nome da função do IAM que a ação Deploy to Amazon ECS usa para acessar AWS. Certifique-se de que essa função inclua as seguintes políticas:
-
A seguinte política de permissões:
Atenção
Limite as permissões às mostradas na política a seguir. Usar uma função com permissões mais amplas pode representar um risco de segurança.
{ "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
Na primeira vez em que a função for usada, use o caractere curinga a seguir na declaração de política de recursos e, em seguida, defina o escopo da política com o nome do recurso depois que ele estiver disponível.
"Resource": "*"
-
A seguinte política de confiança personalizada:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Certifique-se de que essa função seja adicionada à conexão da sua conta. Para saber mais sobre como adicionar uma função do IAM a uma conexão de conta, consulteAdicionar funções do IAM às conexões da conta.
nota
Você pode especificar o nome da CodeCatalystWorkflowDevelopmentRole-
função aqui, se quiser. Para obter mais informações sobre essa função, consulte Criando a CodeCatalystWorkflowDevelopmentRole-spaceNamefunção para sua conta e espaço. Entenda que a spaceName
CodeCatalystWorkflowDevelopmentRole-
função tem permissões muito amplas que podem representar um risco de segurança. Recomendamos que você use essa função somente em tutoriais e cenários em que a segurança seja menos preocupante. spaceName
UI correspondente: guia de configuração/'Ambiente/Conta/Função'/Função
Inputs
(ECSDeployAction
/Inputs)
(Optional)
A Inputs
seção define os dados ECSDeployAction
necessários durante a execução de um fluxo de trabalho.
nota
Somente uma entrada (uma fonte ou um artefato) é permitida por ação do Deploy to Amazon ECS.
UI correspondente: guia Entradas
Sources
(ECSDeployAction
/Inputs/Sources)
(Obrigatório se o arquivo de definição de tarefas estiver armazenado em um repositório de origem)
Se seu arquivo de definição de tarefa estiver armazenado em um repositório de origem, especifique o rótulo desse repositório de origem. Atualmente, o único rótulo compatível éWorkflowSource
.
Se seu arquivo de definição de tarefa não estiver contido em um repositório de origem, ele deverá residir em um artefato gerado por outra ação.
Para obter mais informações sobre fontes, consulte Conectando um fluxo de trabalho a um repositório de origem.
UI correspondente: guia Entradas/Fontes - opcional
Artifacts - input
(ECSDeployAction
/Inputs/Artifacts)
(Obrigatório se o arquivo de definição de tarefa estiver armazenado em um artefato de saída de uma ação anterior)
Se o arquivo de definição de tarefa que você deseja implantar estiver contido em um artefato gerado por uma ação anterior, especifique esse artefato aqui. Se o arquivo de definição de tarefas não estiver contido em um artefato, ele deverá residir no seu repositório de origem.
Para obter mais informações sobre artefatos, incluindo exemplos, consulteCompartilhamento de dados entre ações em um fluxo de trabalho usando artefatos.
UI correspondente: guia de configuração/artefatos - opcional
Configuration
(ECSDeployAction
/Configuration)
(Obrigatório)
Uma seção na qual você pode definir as propriedades de configuração da ação.
UI correspondente: guia Configuração
region
(Configuration/region)
(Obrigatório)
Especifique a AWS região em que seu cluster e serviço do Amazon ECS residem. Para obter uma lista de códigos de região, consulte Endpoints regionais no Referência geral da AWS.
UI correspondente: guia de configuração/região
cluster
(ECSDeployAction
/Configuration/cluster)
(Obrigatório)
Especifique o nome de um cluster Amazon ECS existente. A ação Deploy to Amazon ECS implantará seu aplicativo em contêineres como uma tarefa nesse cluster. Para obter mais informações sobre clusters do Amazon ECS, consulte Clusters no Amazon Elastic Container Service Developer Guide.
UI correspondente: guia de configuração/cluster
service
(ECSDeployAction
/Configuration/service)
(Obrigatório)
Especifique o nome de um serviço Amazon ECS existente que instanciará o arquivo de definição de tarefas. Esse serviço deve residir no cluster especificado no cluster
campo. Para obter mais informações sobre os serviços do Amazon ECS, consulte os serviços do Amazon ECS no Amazon Elastic Container Service Developer Guide.
UI correspondente: guia de configuração/serviço
task-definition
(ECSDeployAction
/Configuration/task-definition)
(Obrigatório)
Especifique o caminho para um arquivo de definição de tarefa existente. Se o arquivo residir no seu repositório de origem, o caminho é relativo à pasta raiz do repositório de origem. Se o arquivo residir em um artefato de uma ação anterior do fluxo de trabalho, o caminho é relativo à pasta raiz do artefato. Para obter mais informações sobre arquivos de definição de tarefas, consulte Definições de tarefas no Amazon Elastic Container Service Developer Guide.
UI correspondente: guia de configuração/definição de tarefa
force-new-deployment
(ECSDeployAction
/Configuration/force-new-deployment)
(Obrigatório)
Se habilitado, o serviço Amazon ECS poderá iniciar novas implantações sem alterações na definição do serviço. Forçar uma implantação faz com que o serviço interrompa todas as tarefas atualmente em execução e inicie novas tarefas. Para obter mais informações sobre forçar novas implantações, consulte Atualização de um serviço no Guia do desenvolvedor do Amazon Elastic Container Service.
Padrão: false
UI correspondente: guia de configuração/ Forçar uma nova implantação do serviço
codedeploy-appspec
(ECSDeployAction
/Configuration/codedeploy-appspec)
(Obrigatório se você configurou seu serviço Amazon ECS para usar implantações azul/verde, caso contrário, omita)
Especifique o nome e o caminho para um arquivo de especificação de CodeDeploy aplicativo existente (AppSpec). Esse arquivo deve residir na raiz do seu repositório de CodeCatalyst origem. Para obter mais informações sobre AppSpec arquivos, consulte os arquivos de especificação do CodeDeploy aplicativo (AppSpec) no Guia AWS CodeDeploy do usuário.
nota
Forneça CodeDeploy informações somente se você tiver configurado seu serviço Amazon ECS para realizar implantações azul/verdes. Para implantações de atualizações contínuas (o padrão), CodeDeploy omita as informações. Para obter mais informações sobre as implantações do Amazon ECS, consulte os tipos de implantação do Amazon ECS no Amazon Elastic Container Service Developer Guide.
nota
Os CodeDeploycampos podem estar ocultos no editor visual. Para que eles apareçam, consultePor que os CodeDeploy campos estão ausentes no editor visual?.
UI correspondente: guia Configuração/ CodeDeploy AppSpec
codedeploy-application
(ECSDeployAction
/Configuration/codedeploy-application)
(Obrigatório se codedeploy-appspec
estiver incluído)
Especifique o nome de um CodeDeploy aplicativo existente. Para obter mais informações sobre CodeDeploy aplicativos, consulte Como trabalhar com aplicativos CodeDeploy no Guia do AWS CodeDeploy usuário.
UI correspondente: guia de configuração/aplicativo CodeDeploy
codedeploy-deployment-group
(ECSDeployAction
/Configuration/codedeploy-deployment-group)
(Obrigatório se codedeploy-appspec
estiver incluído)
Especifique o nome de um grupo CodeDeploy de implantação existente. Para obter mais informações sobre grupos de CodeDeploy implantação, consulte Trabalhando com grupos de implantação CodeDeploy no Guia AWS CodeDeploy do Usuário.
UI correspondente: guia de configuração/grupo CodeDeploy de implantação
codedeploy-deployment-description
(ECSDeployAction
/Configuration/codedeploy-deployment-description)
(Optional)
Especifique uma descrição da implantação que essa ação criará. Para obter mais informações, consulte Como trabalhar com implantações CodeDeploy no Guia do AWS CodeDeploy usuário.
UI correspondente: guia de configuração/descrição CodeDeploy da implantação