

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á.

# Trabalhar com variáveis
<a name="actions-variables"></a>

Algumas ações na CodePipeline geração de 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 step-by-step exemplos de uso de variáveis:
+ Para ver um tutorial com uma ação 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](tutorials-lambda-variables.md)
+ Para ver um tutorial com uma CloudFormation ação que faz referência às variáveis de saída da pilha de uma CloudFormation ação upstream, consulte. [Tutorial: criar um pipeline que usa variáveis das ações de AWS CloudFormation implantação](tutorials-cloudformation-action.md)
+ Para obter um exemplo de ação de aprovação manual com texto de mensagem que faz referência a variáveis de saída que são resolvidas para o CodeCommit ID de confirmação e a mensagem de confirmação, consulte[Exemplo: Usar variáveis em aprovações manuais](#actions-variables-examples-approvals).
+ Para obter um exemplo de CodeBuild ação com uma variável de ambiente que é resolvida com o nome da GitHub ramificação, consulte[Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente](#actions-variables-examples-env-branchname).
+ CodeBuild as ações produzem como variáveis todas as variáveis de ambiente que foram exportadas como parte da construção. Para obter mais informações, consulte [CodeBuild variáveis de saída de ação](reference-variables.md#reference-variables-list-configured-codebuild). Para obter uma lista das variáveis de ambiente que você pode usar CodeBuild, consulte [Variáveis de ambiente em ambientes de compilação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) no *Guia AWS CodeBuild do usuário*.

**Topics**
+ [Configurar ações de variáveis](#actions-variables-create)
+ [Visualizar variáveis de saída](#actions-variables-view)
+ [Exemplo: Usar variáveis em aprovações manuais](#actions-variables-examples-approvals)
+ [Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente](#actions-variables-examples-env-branchname)

## Configurar ações de variáveis
<a name="actions-variables-create"></a>

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)
<a name="actions-variables-create-console"></a>

Este exemplo cria um pipeline com uma ação CodeCommit de origem e uma ação de CodeBuild construção. A CodeBuild ação é configurada para consumir as variáveis produzidas pela CodeCommit ação.

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**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Selecione **Criar pipeline**. Insira um nome para o pipeline e escolha **Next (Próximo)**.

1. Em **Fonte**, em **Provedor**, escolha **CodeCommit**. Escolha o CodeCommit repositório e a ramificação para a ação de origem e, em seguida, escolha **Avançar**.

1. Em **Build**, em **Provider**, escolha **CodeBuild**. Escolha um nome de projeto de CodeBuild construção existente ou escolha **Criar projeto**. Em **Criar projeto de compilação**, crie um projeto de compilação e escolha **Retornar para 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.

1. Escolha **Criar**.

1. 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.   
![\[Exemplo: tela de Informações de ação\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/variables-popup-namespace.png)

**Para editar o namespace de uma ação existente**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Escolha o pipeline que você deseja editar e escolha **Edit (Editar)**. No estágio de origem, escolha **Edit stage (Editar estágio)**. Adicione a CodeCommit ação.

1. 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**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. 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)](#actions-variables-view-console).

### Configurar ações para variáveis (CLI)
<a name="actions-variables-create-cli"></a>

Ao usar o **create-pipeline** comando para criar um pipeline ou o **update-pipeline** comando para editar um pipeline, você pode ver reference/use 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**

1. Siga as etapas em [Criar um pipeline, estágios e ações](pipelines-create.md) 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âmetro `namespace` e especifique um nome, como `SourceVariables`.

   ```
   . . . 
   {
             "inputArtifacts": [],
             "name": "Source",
             "region": "us-west-2",
             "namespace": "SourceVariables",
             "actionTypeId": {
               "category": "Source",
               "owner": "AWS",
               "version": "1",
               "provider": "CodeCommit"
             },
             "outputArtifacts": [
   
   . . .
   ```

1. Salve o arquivo com um nome como **MyPipeline.json**.

1. Em um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows), execute o comando [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html) e crie o pipeline.

   Invoque o arquivo que você criou quando executou o comando [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/retry-stage-execution.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/retry-stage-execution.html). Por exemplo:

   ```
   aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
   ```

**Como configurar ações downstream para consumir variáveis**

1. 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 namespace `codepipeline` para a variável `#{codepipeline.PipelineExecutionId}`. Especifique o namespace `SourceVariables` para 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
           }
       ]
   },
   ```

1. Salve o arquivo com um nome como **MyPipeline.json**.

1. Em um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows), execute o comando [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html) e crie o pipeline.

   Invoque o arquivo que você criou quando executou o comando [https://docs.aws.amazon.com/cli/latest/reference/codepipeline/retry-stage-execution.html](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/retry-stage-execution.html). Por exemplo:

   ```
   aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
   ```

## Visualizar variáveis de saída
<a name="actions-variables-view"></a>

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)
<a name="actions-variables-view-console"></a>

Você pode usar o console para visualizar variáveis de uma ação.

****

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes de todos os pipelines associados à sua AWS conta são exibidos.

1.  Em **Nome**, selecione o nome do pipeline. 

1. Selecione **Visualizar histórico**.

1. 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 para a execução do pipeline para ver os detalhes da execução da CodeCommit ação. Na tela de detalhes da ação, exiba as variáveis em **Output variables (Variáveis de saída)**.  
![\[Exemplo: variáveis de saída de origem\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/variables-output.png)

1. 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 para a execução do pipeline, escolha **Criar** para visualizar os detalhes da execução da CodeBuild ação. 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.  
![\[Exemplo: variáveis de configuração de ação\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/variables-actionconfig-codebuild.png)

   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  
![\[Exemplo: variáveis de configuração de ação resolvida\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/variables-actionconfig-codebuild-resolved.png)

### Visualizar variáveis (CLI)
<a name="actions-variables-view-cli"></a>

Você pode usar o comando **list-action-executions** para exibir as variáveis de uma ação.

1. Use o seguinte comando: 

   ```
   aws codepipeline list-action-executions
   ```

   A saída mostra o parâmetro `outputVariables` conforme 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"
                   },
   ```

1. Use o seguinte comando: 

   ```
   aws codepipeline get-pipeline --name <pipeline-name>
   ```

   Na configuração da CodeBuild ação, 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
<a name="actions-variables-examples-approvals"></a>

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.

****

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes de todos os pipelines associados à sua AWS conta são exibidos. Escolha o pipeline ao qual deseja adicionar a aprovação.

1. 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.

1. Em **Action provider (Provedor de ação)**, escolha **Manual approval (Aprovação manual)**.

1. Em **URL para revisão**, adicione a sintaxe da variável `CommitId` para sua CodeCommit URL. Certifique-se de usar o namespace atribuído à ação de origem. Por exemplo, a sintaxe da variável para uma ação CodeCommit com o namespace padrão `SourceVariables` é `#{SourceVariables.CommitId}`.

   Em **Comentários**, em `CommitMessage`, insira a mensagem de confirmação: 

   ```
   Please approve this change. Commit message: #{SourceVariables.CommitMessage}
   ```

1. Depois que o pipeline for executado com êxito, você poderá exibir os valores das variáveis na mensagem de aprovação.

## Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente
<a name="actions-variables-examples-env-branchname"></a>

Ao adicionar uma CodeBuild ação ao seu pipeline, você pode usar variáveis de CodeBuild ambiente para referenciar uma variável de `BranchName` saída de uma ação de origem ascendente. Com uma variável de saída de uma ação em CodePipeline, você pode criar suas próprias variáveis de CodeBuild ambiente para uso em seus comandos de compilação.

Este exemplo mostra como adicionar a sintaxe da variável de saída de uma ação de GitHub origem a uma variável de CodeBuild ambiente. A sintaxe da variável de saída neste exemplo representa a variável de saída da ação de GitHub origem para`BranchName`. Depois que a ação for executada com êxito, a variável será resolvida para mostrar o nome da GitHub ramificação.

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes de todos os pipelines associados à sua AWS conta são exibidos. Escolha o pipeline ao qual deseja adicionar a aprovação.

1. Para editar o pipeline, escolha **Edit (Editar)**. No estágio que contém sua CodeBuild ação, escolha **Editar estágio**.

1. Escolha o ícone para editar sua CodeBuild ação.

1. 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 GitHub ação com o namespace `SourceVariables` padrão é. `#{SourceVariables.BranchName}`
   + Em **Tipo**, escolha **Texto sem formatação**.

1. 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:
   + **CodePipeline console:** escolha seu funil 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 variáveis GitHub de saída. 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 CodeBuild ambiente para seu projeto de compilação. Escolha **Visualizar detalhes da execução**. Em **Configuração da ação**, visualize suas variáveis de CodeBuild ambiente. Escolha **Mostrar a configuração resolvida**. O valor da variável de ambiente é a variável `BranchName` de saída resolvida da ação de GitHub origem. Neste exemplo, esse valor resolvido é `main`.

       Para obter mais informações, consulte [Visualizar variáveis (console)](#actions-variables-view-console).
   + **CodeBuild console:** 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 CodeBuild ambiente. Neste exemplo, a variável de ambiente **Name** é `BranchName` e o **Value** é a variável `BranchName` de saída resolvida da ação de GitHub origem. Neste exemplo, o valor resolvido é `main`.  
![\[Captura de tela mostrando a variável resolvida no console\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/variable-codebuild-resolved.png)