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 “AWS CDK implantar”
A seguir está a definição YAML da ação de AWS CDK implantação. Para saber como usar essa ação, consulteImplantando um AWS Cloud Development Kit (AWS CDK) aplicativo 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.
CDKDeploy_nn
:
Identifier: aws/cdk-deploy@v1
DependsOn:
- CDKBootstrap
Compute:
Type: EC2 | Lambda
Fleet: fleet-name
Timeout: timeout-minutes
Inputs:
# Specify a source or an artifact, but not both.
Sources:
- source-name-1
Artifacts:
- artifact-name
Outputs:
Artifacts:
- Name: cdk_artifact
Files:
- "cdk.out/**/*"
Environment:
Name: environment-name
Connections:
- Name: account-connection-name
Role: iam-role-name
Configuration:
StackName: my-cdk-stack
Region: us-west-2
Tags: '{"key1": "value1", "key2": "value2"}'
Context: '{"key1": "value1", "key2": "value2"}'
CdkCliVersion: version
CdkRootPath: directory-containing-cdk.json-file
CfnOutputVariables: '["CnfOutputKey1","CfnOutputKey2","CfnOutputKey3"]'
CloudAssemblyRootPath: path-to-cdk.out
CDKDeploy
(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: CDKDeploy_nn
.
UI correspondente: guia de configuração/nome da ação
Identifier
(CDKDeploy
/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/cdk-deploy@v1
.
UI correspondente: diagrama de fluxo de trabalho/ CDKDeploy _nn/ aws/cdk-deploy @v1 label
DependsOn
(CDKDeploy
/DependsOn)
(Optional)
Especifique uma ação ou um grupo de ações que deve ser executado com êxito para que a ação de AWS CDK implantação seja executada. Recomendamos especificar a ação de AWS CDK bootstrap na DependsOn
propriedade, assim:
CDKDeploy: Identifier: aws/cdk-deploy@v1 DependsOn: - CDKBootstrap
nota
A inicialização é um pré-requisito obrigatório para implantar um aplicativo. AWS CDK Se você não incluir a ação AWS CDK Bootstrap em seu fluxo de trabalho, deverá encontrar outra maneira de implantar a pilha de AWS CDK bootstrap antes de executar sua AWS CDK ação de implantação. Para obter mais informações, consulte Adicionando a ação "AWS CDK implantar” em Implantando um AWS Cloud Development Kit (AWS CDK) aplicativo com um fluxo de trabalho.
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
(CDKDeploy
/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
(CDKDeploy
/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
(CDKDeploy
/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 é concluída. 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
(CDKDeploy
/Timeout)
(Obrigatório)
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 é o mesmo que o tempo limite máximo.
UI correspondente: guia de configuração/tempo limite - opcional
Inputs
(CDKDeploy
/Inputs)
(Optional)
A Inputs
seção define os dados CDKDeploy
necessários durante a execução de um fluxo de trabalho.
nota
Somente uma entrada (uma fonte ou um artefato) é permitida para cada ação de AWS CDK implantação.
UI correspondente: guia Entradas
Sources
(CDKDeploy
/Inputs/Sources)
(Obrigatório se o AWS CDK aplicativo que você deseja implantar estiver armazenado em um repositório de origem)
Se seu AWS CDK aplicativo estiver armazenado em um repositório de origem, especifique o rótulo desse repositório de origem. A ação de AWS CDK implantação sintetiza o aplicativo nesse repositório antes de iniciar o processo de implantação. Atualmente, o único rótulo compatível éWorkflowSource
.
Se seu AWS CDK aplicativo 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
(CDKDeploy
/Inputs/Artifacts)
(Obrigatório se o AWS CDK aplicativo que você deseja implantar estiver armazenado em um artefato de saída de uma ação anterior)
Se seu AWS CDK aplicativo estiver contido em um artefato gerado por uma ação anterior, especifique esse artefato aqui. A ação de AWS CDK implantação sintetiza o aplicativo no artefato especificado em um CloudFormation modelo antes de iniciar o processo de implantação. Se seu AWS CDK aplicativo 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 Entradas/Artefatos - opcional
Outputs
(CDKDeploy
/Outputs)
(Optional)
Define os dados que são gerados pela ação durante a execução de um fluxo de trabalho.
UI correspondente: guia Saídas
Artifacts - output
(CDKDeploy
/Outputs/Artifacts
(Optional)
Especifique os artefatos gerados pela ação. Você pode referenciar esses artefatos como entrada em outras ações.
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 Saídas/Artefatos
Name
(CDKDeploy
/Outputs/Artifacts/Name)
(Obrigatório se Artifacts - output estiver incluído)
Especifique o nome do artefato que conterá o AWS CloudFormation modelo sintetizado pela ação de AWS CDK implantação em tempo de execução. O valor padrão é cdk_artifact
. Se você não especificar um artefato, a ação sintetizará o modelo, mas não o salvará em um artefato. Considere salvar o modelo sintetizado em um artefato para preservar um registro dele para fins de teste ou solução de problemas.
UI correspondente: guia Saídas/Artefatos/Adicionar artefato/Criar nome do artefato
Files
(CDKDeploy
/Outputs/Artifacts/Files)
(Obrigatório se Artifacts - output estiver incluído)
Especifique os arquivos a serem incluídos no artefato. Você deve especificar "cdk.out/**/*"
para incluir o modelo sintetizado AWS CloudFormation do seu AWS CDK aplicativo.
nota
cdk.out
é o diretório padrão no qual os arquivos sintetizados são salvos. Se você especificou um diretório de saída diferente do cdk.out
seu cdk.json
arquivo, especifique esse diretório aqui em vez decdk.out
.
UI correspondente: guia Saídas/Artefatos/Adicionar artefato/Arquivos produzidos pela compilação
Environment
(CDKDeploy
/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
(CDKDeploy
/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
(CDKDeploy
/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
(CDKDeploy
/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
(CDKDeploy
/Environment/Connections/Role)
(Obrigatório)
Especifique o nome da função do IAM que a ação de AWS CDK implantação usa para acessar AWS e implantar a pilha de AWS CDK aplicativos. Certifique-se de que essa função inclua:
-
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": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudformation:DescribeStackEvents", "cloudformation:DescribeChangeSet", "cloudformation:DescribeStacks", "cloudformation:ListStackResources" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
aws-account
:role/cdk-*" } ] } 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 Configuração/'Ambiente/Conta/Função'/Função
Configuration
(CDKDeploy
/Configuration)
(Obrigatório)
Uma seção na qual você pode definir as propriedades de configuração da ação.
UI correspondente: guia Configuração
StackName
(CDKDeploy
/Configuration/StackName)
(Obrigatório)
O nome da sua pilha de AWS CDK aplicativos, conforme aparece no arquivo do ponto de entrada no diretório do seu AWS CDK aplicativo. bin
O exemplo a seguir mostra o conteúdo de um arquivo de TypeScript ponto de entrada, com o nome da pilha destacado em itálico vermelho.
Se o arquivo do ponto de entrada estiver em um idioma diferente, ele terá uma aparência semelhante.
import * as cdk from 'aws-cdk-lib';
import { CdkWorksopTypescriptStack } from '../lib/cdk_workshop_typescript-stack';
const app = new cdk.App();
new CdkWorkshopTypescriptStack(app, 'CdkWorkshopTypescriptStack
');
Você só pode especificar uma pilha.
dica
Se você tiver várias pilhas, poderá criar uma pilha principal com pilhas aninhadas. Em seguida, você pode especificar a pilha principal nessa ação para implantar todas as pilhas.
UI correspondente: guia de configuração/nome da pilha
Region
(CDKDeploy
/Configuration/Region)
(Obrigatório)
Especifique Região da AWS no qual a pilha de AWS CDK aplicativos será implantada. Para obter uma lista dos códigos das regiões da , consulte Regions and Endpoints.
UI correspondente: guia de configuração/região
Tags
(CDKDeploy
/Configuration/Tags)
(Optional)
Especifique as tags que você deseja aplicar aos AWS recursos na pilha de AWS CDK aplicativos. As tags são aplicadas à própria pilha, bem como aos recursos individuais na pilha. Para obter mais informações sobre marcação, consulte Marcação no Guia do AWS Cloud Development Kit (AWS CDK) desenvolvedor.
UI correspondente: guia Configuração/Avançado - opcional/Tags
Context
(CDKDeploy
/Configuration/Context)
(Optional)
Especifique contextos, na forma de pares de valores-chave, para associar à pilha de aplicativos. AWS CDK Para obter mais informações sobre contextos, consulte Contextos de tempo de execução no Guia do AWS Cloud Development Kit (AWS CDK) desenvolvedor.
UI correspondente: guia Configuração/Avançado - opcional/Contexto
CdkCliVersion
(CDKDeploy
/Configuration/CdkCliVersion)
(Optional)
Essa propriedade está disponível com a versão 1.0.13 ou posterior da ação de AWS CDK implantação e a versão 1.0.8 ou posterior da AWS CDK ação bootstrap.
Especifique um dos seguintes:
-
A versão completa da interface de linha de AWS Cloud Development Kit (AWS CDK) comando (CLI) (também chamada de AWS CDK kit de ferramentas) que você deseja que essa ação use. Exemplo:
2.102.1
. Considere especificar uma versão completa para garantir consistência e estabilidade ao criar e implantar seu aplicativo.Ou
-
latest
. Considere especificarlatest
para aproveitar os recursos e correções mais recentes da CLI do CDK.
A ação baixará a versão especificada (ou a versão mais recente) da AWS CDK CLI para a imagem de CodeCatalyst compilação e, em seguida, usará essa versão para executar os comandos necessários para implantar seu aplicativo CDK ou inicializar seu ambiente. AWS
Se você omitir essa propriedade, a ação usará uma versão padrão da AWS CDK CLI descrita em um dos tópicos a seguir:
UI correspondente: guia de configuração/versão AWS CDK CLI
CdkRootPath
(CDKDeploy
/Configuration/CdkRootPath)
(Optional)
O caminho para o diretório que contém o cdk.json
arquivo do seu AWS CDK projeto. A ação de AWS CDK implantação é executada nessa pasta e todas as saídas criadas pela ação serão adicionadas a esse diretório. Se não for especificada, a ação de AWS CDK implantação pressupõe que o cdk.json
arquivo esteja na raiz do seu AWS CDK projeto.
UI correspondente: guia de configuração/diretório em que o cdk.json reside
CfnOutputVariables
(CDKDeploy
/Configuration/CfnOutputVariables)
(Optional)
Especifique quais CfnOutput
construções no código do AWS CDK aplicativo você deseja expor como variáveis de saída do fluxo de trabalho. Em seguida, você pode referenciar as variáveis de saída do fluxo de trabalho em ações subsequentes em seu fluxo de trabalho. Para obter mais informações sobre variáveis em CodeCatalyst, consulteConfigurando e usando variáveis em um fluxo de trabalho.
Por exemplo, se o código do seu AWS CDK aplicativo tiver a seguinte aparência:
import { Duration, Stack, StackProps, CfnOutput, RemovalPolicy} from 'aws-cdk-lib';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
import * as cdk from 'aws-cdk-lib';
export class HelloCdkStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const bucket = new s3.Bucket(this, 'my-bucket', {
removalPolicy: RemovalPolicy.DESTROY,
});
new CfnOutput(this, 'bucketName', {
value: bucket.bucketName,
description: 'The name of the s3 bucket',
exportName: 'myBucket',
});
const table = new dynamodb.Table(this, 'todos-table', {
partitionKey: {name: 'todoId', type: dynamodb.AttributeType.NUMBER},
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
removalPolicy: RemovalPolicy.DESTROY,
})
new CfnOutput(this, 'tableName', {
value: table.tableName,
description: 'The name of the dynamodb table',
exportName: 'myDynamoDbTable',
});
...
}
}
... e sua CfnOutputVariables
propriedade tem a seguinte aparência:
Configuration:
...
CfnOutputVariables: '["bucketName","tableName"]'
... então a ação gera as seguintes variáveis de saída do fluxo de trabalho:
Chave | Valor |
---|---|
bucketName |
|
tableName |
|
Em seguida, você pode referenciar as tableName
variáveis bucketName
e em ações subsequentes. Para saber como referenciar variáveis de saída do fluxo de trabalho em ações subsequentes, consulteReferenciando uma variável predefinida.
Se você não especificar nenhuma CfnOutput
construção na CfnOutputVariables
propriedade, a ação expõe as primeiras quatro (ou menos) variáveis de saída encontradas como variáveis CloudFormation de saída do fluxo de trabalho. Para ter mais informações, consulte Variáveis produzidas pela ação “AWS CDK implantar” .
dica
Para obter uma lista de todas as variáveis de CloudFormation saída que a ação produz, execute o fluxo de trabalho que contém a ação de AWS CDK implantação uma vez e, em seguida, consulte a guia Registros da ação. Os registros contêm uma lista de todas as variáveis CloudFormation de saída associadas ao seu AWS CDK aplicativo. Depois de saber quais são todas as CloudFormation variáveis, você pode especificar quais deseja converter em variáveis de saída do fluxo de trabalho usando a CfnOutputVariables
propriedade.
Para obter mais informações sobre variáveis de AWS CloudFormation saída, consulte a documentação da CfnOutput
construção, disponível em class CfnOutput (construct) na Referência da AWS Cloud Development Kit (AWS CDK) API.
UI correspondente: guia de configuração/variáveis AWS CloudFormation de saída
CloudAssemblyRootPath
(CDKDeploy
/Configuration/CloudAssemblyRootPath)
(Optional)
Se você já sintetizou a pilha do seu AWS CDK aplicativo em uma montagem em nuvem (usando a cdk synth
operação), especifique o caminho raiz do diretório de montagem em nuvem (). cdk.out
O AWS CloudFormation modelo localizado no diretório de montagem de nuvem especificado será implantado pela ação de AWS CDK implantação em você Conta da AWS usando o cdk deploy --app
comando. Quando a --app
opção está presente, a cdk synth
operação não ocorre.
Se você não especificar um diretório de montagem em nuvem, a ação de AWS CDK implantação executará o cdk deploy
comando sem a --app
opção. Sem a --app
opção, a cdk deploy
operação sintetizará (cdk synth
) e implantará seu AWS CDK aplicativo no seu. Conta da AWS
Por que eu especificaria um conjunto de nuvem existente e sintetizado quando a ação “AWS CDK implantar” pode fazer a síntese em tempo de execução?
Talvez você queira especificar um conjunto de nuvem sintetizado existente para:
-
Garanta que exatamente o mesmo conjunto de recursos seja implantado sempre que a ação “AWS CDK implantar” for executada
Se você não especificar uma montagem em nuvem, é possível que a ação de AWS CDK implantação sintetize e implante arquivos diferentes, dependendo de quando ela for executada. Por exemplo, a ação de AWS CDK implantação pode sintetizar um conjunto de nuvem com um conjunto de dependências durante um estágio de teste e outro conjunto de dependências durante um estágio de produção (se essas dependências mudarem entre os estágios). Para garantir a paridade exata entre o que foi testado e o que foi implantado, recomendamos sintetizar uma vez e depois usar o campo do diretório de montagem Path to cloud (editor visual) ou a
CloudAssemblyRootPath
propriedade (editor YAML) para especificar o conjunto de nuvem já sintetizado. -
Use gerenciadores de pacotes e ferramentas não padrão com o aplicativo AWS CDK
Durante uma
synth
operação, a ação de AWS CDK implantação tenta executar seu aplicativo usando ferramentas padrão, como npm ou pip. Se a ação não conseguir executar seu aplicativo com êxito usando essas ferramentas, a síntese não ocorrerá e a ação falhará. Para contornar esse problema, você pode especificar os comandos exatos necessários para executar seu aplicativo com êxito nocdk.json
arquivo do AWS CDK aplicativo e, em seguida, sintetizar seu aplicativo usando um método que não envolva a AWS CDK ação de implantação. Depois que a montagem em nuvem for gerada, você poderá especificá-la no campo Caminho para o diretório de montagem em nuvem (editor visual) ou naCloudAssemblyRootPath
propriedade (editor YAML) da ação de AWS CDK implantação.
Para obter informações sobre como configurar o cdk.json
arquivo para incluir comandos para instalar e executar seu AWS CDK aplicativo, consulte Especificação do comando do aplicativo.
Para obter informações sobre os cdk synth
comandos cdk deploy
e, bem como sobre a --app
opção, consulte Implantando pilhas, Sintetizando pilhas e Ignorando a síntese no Guia do desenvolvedor.AWS Cloud Development Kit (AWS CDK)
Para obter informações sobre assemblies em nuvem, consulte Cloud Assembly na Referência da AWS Cloud Development Kit (AWS CDK) API.
UI correspondente: guia de configuração/caminho para o diretório de montagem em nuvem