Trabalhar com variáveis
Algumas ações no CodePipeline geram variáveis. Para usar variáveis:
-
Atribua um namespace a uma ação a fim de disponibilizar as variáveis que ele produz para uma configuração de ação downstream.
-
Configure a ação downstream para consumir as variáveis geradas pela ação.
Você pode visualizar os detalhes de cada execução de ação para ver os valores de cada variável de saída gerada pela ação em tempo de execução.
Para ver exemplos passo a passo do uso de variáveis:
-
Para assistir a um tutorial com uma ação do Lambda que usa variáveis de uma ação upstream (CodeCommit) e gera variáveis de saída, consulte Tutorial: Usar variáveis com ações de invocação do Lambda.
-
Para assistir a um tutorial com uma ação CloudFormation que faz referência às variáveis de saída da pilha de uma ação upstream do CloudFormation, consulte Tutorial: Criar um pipeline que usa variáveis de ações de implantação do AWS CloudFormation.
-
Para obter um exemplo de ação de aprovação manual com texto de mensagem que faz referência às variáveis de saída que retornam o ID de confirmação e a mensagem de confirmação do CodeCommit, consulte Exemplo: Usar variáveis em aprovações manuais.
-
Para ver um exemplo de ação do CodeBuild com uma variável de ambiente que retorna o nome de ramificação do GitHub, consulte Exemplo: use uma variável BranchName com as variáveis de ambiente do CodeBuild.
-
As ações do CodeBuild produzirá como variáveis todas as variáveis de ambiente que foram exportadas como parte da compilação. Para obter mais informações, consulte Variáveis de saída da ação do CodeBuild. Para obter uma lista das variáveis de ambiente que você pode usar no CodeBuild, consulte Variáveis de ambiente em ambientes de compilação no Guia do usuário do AWS CodeBuild.
Tópicos
Configurar ações de variáveis
Ao adicionar uma ação ao pipeline, você pode atribuir-lhe um namespace e configurá-lo para consumir variáveis de ações anteriores.
Configurar ações com variáveis (console)
Este exemplo cria um pipeline com uma ação de origem do CodeCommit e uma ação de compilação do CodeBuild. A ação do CodeBuild é configurada para consumir as variáveis produzidas pela ação do CodeCommit.
Se o namespace não for especificado, as variáveis não estarão disponíveis para referência na configuração da ação. Quando você usa o console para criar um pipeline, o namespace de cada ação é gerado automaticamente.
Como criar um pipeline com variáveis
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Selecione Criar pipeline. Insira um nome para o pipeline e escolha Next (Próximo).
-
Em Source (Origem), em Provider (Provedor), escolha CodeCommit. Escolha o repositório e a ramificação do CodeCommit para a ação de origem e escolha Próximo.
-
Em Build (Compilar), em Provider (Provedor), escolha CodeBuild. Escolha um nome de projeto de compilação existente do CodeBuild ou escolha Criar projeto. Em Create build project (Criar projeto de compilação), crie um projeto de compilação e escolha Return do CodePipeline (Retornar ao CodePipeline).
Em Environment variables (Variáveis de ambiente), escolha Add environment variables (Adicionar variáveis de ambiente). Por exemplo, insira o ID de execução com a sintaxe de variável
#{codepipeline.PipelineExecutionId}e o ID de confirmação com a sintaxe da variável#{SourceVariables.CommitId}.nota
Você pode inserir sintaxe variável em qualquer campo de configuração de ação no assistente.
-
Escolha Criar.
-
Depois que o pipeline é criado, você pode visualizar o namespace criado pelo assistente. No pipeline, escolha o ícone do estágio cujo namespace você deseja visualizar. Neste exemplo, o namespace gerado automaticamente da ação de origem,
SourceVariables, é exibido.
Para editar o namespace de uma ação existente
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Escolha o pipeline que você deseja editar e escolha Edit (Editar). No estágio de origem, escolha Edit stage (Editar estágio). Adicione a ação do CodeCommit.
-
Em Edit action (Editar ação), visualize o campo Variable namespace (Namespace de variável) . Se a ação existente foi criada anteriormente ou sem usar o assistente, você deverá adicionar um namespace. Em Variable namespace (Namespace de variável), insira um nome de namespace e escolha Save (Salvar).
Como visualizar as variáveis de saída
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Depois que o pipeline for criado e executado com êxito, você poderá visualizar as variáveis na página Action execution details (Detalhes da execução da ação). Para mais informações, consulte Visualizar variáveis (console).
Configurar ações para variáveis (CLI)
Ao usar o comando create-pipeline para criar um pipeline ou o comando update-pipeline para editar um pipeline, você pode fazer referência/usar variáveis na configuração de uma ação.
Se o namespace não for especificado, as variáveis produzidas pela ação não estarão disponíveis para serem referenciadas em qualquer configuração de ação downstream.
Como configurar uma ação com um namespace
-
Siga as etapas em Criar um pipeline, estágios e ações para criar um pipeline usando a CLI. Inicie um arquivo de entrada para fornecer o comando create-pipeline com o parâmetro
--cli-input-json. Na estrutura do pipeline, adicione o parâmetronamespacee especifique um nome, comoSourceVariables.. . . { "inputArtifacts": [], "name": "Source", "region": "us-west-2","namespace": "SourceVariables","actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeCommit" }, "outputArtifacts": [ . . . -
Salve o arquivo com um nome como
MyPipeline.json. -
Em um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows), execute o comando create-pipeline e crie o pipeline.
Invoque o arquivo que você criou quando executou o comando create-pipeline. Por exemplo:
aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
Como configurar ações downstream para consumir variáveis
-
Edite um arquivo de entrada para fornecer o comando update-pipeline com o parâmetro
--cli-input-json. Na ação downstream, adicione a variável à configuração dessa ação. Uma variável é composta de um namespace e uma chave, separados por um ponto. Por exemplo, para adicionar variáveis para o ID de execução do pipeline e o ID de confirmação de origem, especifique o namespacecodepipelinepara a variável#{codepipeline.PipelineExecutionId}. Especifique o namespaceSourceVariablespara a variável#{SourceVariables.CommitId}.{ "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifacts" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Execution_ID\",\"value\":\"#{codepipeline.PipelineExecutionId}\",\"type\":\"PLAINTEXT\"},{\"name\":\"Commit_ID\",\"value\":\"#{SourceVariables.CommitId}\",\"type\":\"PLAINTEXT\"}]", "ProjectName": "env-var-test" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-west-2", "actionTypeId": { "provider": "CodeBuild", "category": "Build", "version": "1", "owner": "AWS" }, "runOrder": 1 } ] }, -
Salve o arquivo com um nome como
MyPipeline.json. -
Em um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows), execute o comando create-pipeline e crie o pipeline.
Invoque o arquivo que você criou quando executou o comando create-pipeline. Por exemplo:
aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
Visualizar variáveis de saída
Você pode visualizar os detalhes da execução da ação para visualizar as variáveis dessa ação, específicas de cada execução.
Visualizar variáveis (console)
Você pode usar o console para visualizar variáveis de uma ação.
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. Os nomes de todos os pipelines associados à sua conta da AWS são exibidos.
-
Em Nome, selecione o nome do pipeline.
-
Selecione Visualizar histórico.
-
Depois que o pipeline for executado com êxito, você poderá exibir as variáveis produzidas pela ação de origem. Selecione Visualizar histórico. Escolha Origem na lista de ações da execução do pipeline para visualizar os detalhes da execução da ação do CodeCommit. Na tela de detalhes da ação, exiba as variáveis em Output variables (Variáveis de saída).
-
Depois que o pipeline for executado com êxito, você poderá exibir as variáveis consumidas pela ação de compilação. Selecione Visualizar histórico. Na lista de ações da execução do pipeline, escolha Compilar para visualizar os detalhes da execução da ação do CodeBuild. Na página de detalhes da ação, exiba as variáveis em Action configuration (Configuração de ação). O namespace gerado automaticamente é exibido.
Por padrão, a Action configuration (Configuração de ação) exibe a sintaxe da variável. Você pode escolher Show resolved configuration (Mostrar configuração resolvida) para alternar a lista para exibir os valores que foram produzidos durante a execução da ação
Visualizar variáveis (CLI)
Você pode usar o comando list-action-executions para exibir as variáveis de uma ação.
-
Use o seguinte comando:
aws codepipeline list-action-executionsA saída mostra o parâmetro
outputVariablesconforme mostrado aqui."outputVariables": { "BranchName": "main", "CommitMessage": "Updated files for test", "AuthorDate": "2019-11-08T22:24:34Z", "CommitId": "d99b0083cc10EXAMPLE", "CommitterDate": "2019-11-08T22:24:34Z", "RepositoryName": "variables-repo" }, -
Use o seguinte comando:
aws codepipeline get-pipeline --name <pipeline-name>Na configuração da ação do CodeBuild, você pode visualizar as variáveis:
{ "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifact" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Execution_ID\",\"value\":\"#{codepipeline.PipelineExecutionId}\",\"type\":\"PLAINTEXT\"},{\"name\":\"Commit_ID\",\"value\":\"#{SourceVariables.CommitId}\",\"type\":\"PLAINTEXT\"}]", "ProjectName": "env-var-test" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-west-2", "actionTypeId": { "provider": "CodeBuild", "category": "Build", "version": "1", "owner": "AWS" }, "runOrder": 1 } ] },
Exemplo: Usar variáveis em aprovações manuais
Quando você especifica um namespace para uma ação e essa ação produz variáveis de saída, você pode adicionar uma aprovação manual que exibe variáveis na mensagem de aprovação. Este exemplo mostra como adicionar sintaxe variável a uma mensagem de aprovação manual.
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. Os nomes de todos os pipelines associados à sua conta da AWS são exibidos. Escolha o pipeline ao qual deseja adicionar a aprovação.
-
Para editar o pipeline, escolha Edit (Editar). Adicione uma aprovação manual após a ação de origem. Em Action name (Nome da ação), insira o nome da ação de aprovação.
-
Em Action provider (Provedor de ação), escolha Manual approval (Aprovação manual).
-
Em URL para revisar, adicione a sintaxe de variável de
CommitIdao URL do CodeCommit. Certifique-se de usar o namespace atribuído à ação de origem. Por exemplo, a sintaxe de variável para uma ação do CodeCommit com o namespace padrãoSourceVariablesé#{SourceVariables.CommitId}.Em Comentários, em
CommitMessage, insira a mensagem de confirmação:Please approve this change. Commit message: #{SourceVariables.CommitMessage} -
Depois que o pipeline for executado com êxito, você poderá exibir os valores das variáveis na mensagem de aprovação.
Exemplo: use uma variável BranchName com as variáveis de ambiente do CodeBuild
Ao adicionar uma ação do CodeBuild ao pipeline, você pode usar as variáveis de ambiente do CodeBuild para referenciar uma variável de saída BranchName de uma ação de origem upstream. Com uma variável de saída de uma ação no CodePipeline, você pode criar suas próprias variáveis de ambiente do CodeBuild para uso nos comandos de compilação.
Este exemplo mostra como adicionar a sintaxe da variável de saída de uma ação de origem do GitHub a uma variável de ambiente do CodeBuild. A sintaxe da variável de saída neste exemplo representa a variável de saída da ação de origem do GitHub para BranchName. Depois que a ação for executada com êxito, a variável retornará o nome da ramificação do GitHub.
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home
. Os nomes de todos os pipelines associados à sua conta da AWS são exibidos. Escolha o pipeline ao qual deseja adicionar a aprovação.
-
Para editar o pipeline, escolha Edit (Editar). No estágio que contém a ação do CodeBuild, escolha Editar estágio.
-
Escolha o ícone para editar a ação do CodeBuild.
-
Na página Editar ação, em Variáveis de ambiente, insira o seguinte:
-
Em Nome, insira um nome para a variável de ambiente.
-
Em Valor, insira a sintaxe da variável de saída do pipeline, que inclui o namespace atribuído à sua ação de origem. Por exemplo, a sintaxe da variável de saída para uma ação do GitHub com o namespace padrão
SourceVariablesé#{SourceVariables.BranchName}. -
Em Tipo, escolha Texto sem formatação.
-
-
Depois que o pipeline for executado com êxito, você poderá ver como a variável de saída resolvida é o valor na variável de ambiente. Escolha uma das seguintes opções:
-
Console do CodePipeline: escolha seu pipeline e, em seguida, escolha Histórico. Escolha a execução mais recente do pipeline.
-
Em Linha do tempo, escolha o seletor de Origem. Essa é a ação de origem que gera as variáveis de saída do GitHub. Escolha Visualizar detalhes da execução. Em Variáveis de saída, visualize a lista de variáveis de saída geradas por essa ação.
-
Em Linha do tempo, escolha o seletor de Origem. Essa é a ação de compilação que especifica as variáveis de ambiente do CodeBuild para seu projeto de compilação. Escolha Visualizar detalhes da execução. Em Configuração de ação, visualize as variáveis de ambiente do CodeBuild. Escolha Mostrar a configuração resolvida. O valor da variável de ambiente é a variável de saída
BranchNameresolvida da ação de origem do GitHub. Neste exemplo, esse valor resolvido émain.Para obter mais informações, consulte Visualizar variáveis (console).
-
-
Console do CodeBuild: escolha seu projeto de compilação e escolha o link para sua execução de compilação. Em Variáveis de ambiente, sua variável de saída resolvida é o valor da variável de ambiente do CodeBuild. Neste exemplo, a variável de ambiente Nome é
BranchNamee o Valor é a variável de saídaBranchNameresolvida da ação de origem do GitHub. Neste exemplo, o valor resolvido émain.
-