Definição YAML da ação “AWS CDK implantar” - Amazon CodeCatalyst

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

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 especificar latest 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

Para obter uma lista das versões compatíveis da CLI do CDK que você pode usar,AWS CDK consulte Versões.

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

bucket.bucketName

tableName

table.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 no cdk.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 na CloudAssemblyRootPath 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