

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

# GitHub conexões
<a name="connections-github"></a>

Você usa conexões para autorizar e estabelecer configurações que associam seu provedor terceirizado aos seus AWS recursos.

**nota**  
Em vez de criar ou usar uma conexão existente na conta, você pode usar uma conexão compartilhada entre outra Conta da AWS. Consulte [Usar uma conexão compartilhada com outra conta](connections-shared.md).

**nota**  
Esse recurso não está disponível nas regiões Ásia-Pacífico (Hong Kong), Ásia-Pacífico (Hyderabad), Ásia-Pacífico (Jacarta), Ásia-Pacífico (Melbourne), Ásia-Pacífico (Osaka), África (Cidade do Cabo), Oriente Médio (Bahrein), Oriente Médio (EAU), Europa (Espanha), Europa (Zurique), Israel (Tel Aviv) ou (Oeste dos EUA). AWS GovCloud Para fazer referência a outras ações disponíveis, consulte [Integrações de produtos e serviços com CodePipeline](integrations.md). Para considerações sobre essa ação na região Europa (Milão), consulte a nota em [CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas](action-reference-CodestarConnectionSource.md).

Para adicionar uma ação de origem para seu repositório GitHub ou para o seu repositório do GitHub Enterprise Cloud CodePipeline, você pode escolher entre:
+ Use o assistente de **criação de pipeline** do CodePipeline console ou a página **Editar ação** para escolher a opção de provedor **GitHub (via GitHub aplicativo)**. Consulte [Crie uma conexão com o GitHub Enterprise Server (console)](connections-ghes.md#connections-ghes-console) para adicionar a ação. O console ajuda você a criar um recurso de conexão.
**nota**  
Para ver um tutorial que explica como adicionar uma GitHub conexão e usar a opção de **clonagem completa** em seu pipeline para clonar metadados, consulte. [Tutorial: use o clone completo com uma fonte de GitHub pipeline](tutorials-github-gitclone.md)
+ Usar a CLI para adicionar a configuração da ação `CodeStarSourceConnection` com o provedor `GitHub` executando as etapas da CLI em [Criar um pipeline (CLI)](pipelines-create.md#pipelines-create-cli).

**nota**  
É possível criar uma conexão por meio do console do Developer Tools em **Configurações**. Consulte [Criar uma conexão](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html).

Antes de começar
+ Você deve ter criado uma conta com GitHub.
+ Você já deve ter criado um repositório GitHub de código.
+ Se sua função CodePipeline de serviço foi criada antes de 18 de dezembro de 2019, talvez seja necessário atualizar suas permissões `codestar-connections:UseConnection` para uso em AWS CodeStar conexões. Para instruções, consulte [Adicionar permissões à função CodePipeline de serviço](how-to-custom-role.md#how-to-update-role-new-services).

**nota**  
Para criar a conexão, você deve ser o proprietário GitHub da organização. Para repositórios que não estão em uma organização, você deve ser o proprietário do repositório.

**Topics**
+ [Crie uma conexão com GitHub (console)](#connections-github-console)
+ [Crie uma conexão com GitHub (CLI)](#connections-github-cli)

## Crie uma conexão com GitHub (console)
<a name="connections-github-console"></a>

Use essas etapas para usar o CodePipeline console para adicionar uma ação de conexões para seu repositório GitHub ou para o seu repositório do GitHub Enterprise Cloud.

**nota**  
Nestas etapas, você pode selecionar repositórios específicos em **Acesso ao repositório**. Quaisquer repositórios que não estejam selecionados não estarão acessíveis ou visíveis pelo CodePipeline.

### Etapa 1: Criar ou editar seu pipeline
<a name="connections-github-console-action"></a>

1. Faça login no CodePipeline console.

1. Escolha uma das opções a seguir.
   + Opte por criar um pipeline. Siga as etapas em *Criar um pipeline* para concluir a primeira tela e escolha **Próximo**. Na página **Fonte**, em **Provedor de origem**, escolha **GitHub (via GitHub aplicativo)**.
   + Opte por editar um pipeline existente. Escolha **Editar** e, em seguida, escolha **Editar estágio**. Escolha adicionar ou editar sua ação de origem. Na página **Editar ação**, em **Nome da ação**, insira um nome para a ação. Em **Provedor de ações**, escolha **GitHub (via GitHub aplicativo)**.

1. Execute um destes procedimentos:
   + Em **Conexão**, se você ainda não tiver criado uma conexão com seu provedor, escolha **Conectar GitHub** a. Prossiga para a Etapa 2: Crie uma conexão com GitHub.
   + Em **Conexão**, se você já tiver criado uma conexão com seu provedor, escolha a conexão. Vá para a Etapa 3: Salvar a ação de origem da sua conexão.

### Etapa 2: criar uma conexão com GitHub
<a name="connections-github-console-create"></a>

Depois de escolher criar a conexão, a GitHub página **Connect to** é exibida.

![\[Captura de tela do console mostrando a página de GitHub conexão inicial.\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/github-conn.png)


**Para criar uma conexão com GitHub**

1. **Nas configurações de GitHub conexão**, o nome da conexão aparece em **Nome da conexão**. Escolha **Connect to GitHub**. A página de solicitação de acesso será exibida.

1. Escolha **Autorizar AWS conector para GitHub**. A página de conexão é exibida e mostra o campo **GitHub Aplicativos**.  
![\[Captura de tela do console mostrando a página de GitHub conexão inicial com o campo GitHub Aplicativos.\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/github-conn-access-app.png)

1. Em **GitHub Aplicativos**, escolha uma instalação de aplicativo ou escolha **Instalar um novo aplicativo** para criar um.

   Você instala uma aplicação para todas as suas conexões com um provedor específico. Se você já instalou o GitHub aplicativo AWS Connector for, escolha-o e pule esta etapa.
**nota**  
Se você quiser criar um [token de acesso de usuário](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), verifique se já instalou o AWS Connector for GitHub app e deixe o campo de instalação do aplicativo vazio. CodeConnections usará o token de acesso do usuário para a conexão.

1. Na GitHub página **Install AWS Connector for**, escolha a conta na qual você deseja instalar o aplicativo.
**nota**  
Você só instala o aplicativo uma vez para cada GitHub conta. Se você instalou a aplicação anteriormente, poderá escolher **Configure** (Configurar) para prosseguir para uma página de modificação para a instalação da aplicação ou usar o botão Back (Voltar) para retornar ao console.

1. **Na GitHub página **Install AWS Connector for**, deixe os padrões e escolha Instalar.**

1. Na GitHub página **Connect to**, o ID de conexão da sua nova instalação aparece em **GitHub Apps**. Selecione **Conectar**.

### Etapa 3: salvar sua ação GitHub de origem
<a name="connections-github-console-save"></a>

Execute estas etapas na página **Editar ação** para salvar a ação de origem com as informações de conexão.

**Para salvar sua ação GitHub de origem**

1. Em **Repository name (Nome do repositório)**, escolha o nome do repositório de terceiros. 

1. Em **Gatilhos do Pipeline**, você pode adicionar gatilhos se sua ação for uma ação. CodeConnections Para definir a configuração de gatilhos do pipeline e, se necessário, aplicar filtros, consulte mais detalhes em [Adicionar gatilho com tipos de eventos code push ou pull request](pipelines-filter.md).

1. Em **Output artifact format (Formato de artefato de saída)**, você deve escolher o formato para seus artefatos. 
   + Para armazenar artefatos de saída da GitHub ação usando o método padrão, escolha **CodePipeline default**. A ação acessa os arquivos do GitHub repositório e armazena os artefatos em um arquivo ZIP no repositório de artefatos do pipeline.
   + Para armazenar um arquivo JSON que contém uma referência de URL ao repositório para que as ações downstream possam executar comandos Git diretamente, escolha **Full clone (Clone completo)**. Essa opção só pode ser usada por ações CodeBuild posteriores.

     Se você escolher essa opção, precisará atualizar as permissões para sua função de serviço CodeBuild do projeto, conforme mostrado em[Adicione CodeBuild GitClone permissões para conexões com o Bitbucket GitHub, GitHub Enterprise Server ou .com GitLab](troubleshooting.md#codebuild-role-connections). Para assistir a um tutorial que mostre como usar a opção **Clone completo**, consulte [Tutorial: use o clone completo com uma fonte de GitHub pipeline](tutorials-github-gitclone.md).

1. Escolha **Próximo** no assistente ou **Salvar** na página **Editar ação**.

## Crie uma conexão com GitHub (CLI)
<a name="connections-github-cli"></a>

Você pode usar o AWS Command Line Interface (AWS CLI) para criar uma conexão. 

Para fazer isso, use o comando **create-connection**. 

**Importante**  
Uma conexão criada por meio do AWS CLI ou AWS CloudFormation está no `PENDING` status por padrão. Depois de criar uma conexão com a CLI ou CloudFormation, use o console para editar a conexão e definir seu status. `AVAILABLE`

**Para criar uma conexão**

1. Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use o AWS CLI para executar o **create-connection** comando, especificando `--provider-type` e `--connection-name` para sua conexão. Neste exemplo, o nome do provedor de terceiros é `GitHub` e o nome da conexão especificada é `MyConnection`.

   ```
   aws codestar-connections create-connection --provider-type GitHub --connection-name MyConnection
   ```

   Se tiver êxito, esse comando gerará as informações do ARN de conexão semelhantes às seguintes.

   ```
   {
       "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. Use o console para concluir a conexão. Para obter mais informações, consulte [Atualizar uma conexão pendente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html). 

1. O pipeline assume como padrão a detecção de alterações ao enviar o código por push ao repositório de origem da conexão. Para definir a configuração do gatilho do pipeline para liberação manual ou para tags Git, execute um dos seguintes procedimentos:
   + Para definir a configuração do gatilho do pipeline para início somente por meio de liberação manual, adicione a seguinte linha à configuração: 

     ```
     "DetectChanges": "false",
     ```
   + Para definir a configuração de gatilhos do pipeline e aplicar filtros, consulte mais detalhes em [Adicionar gatilho com tipos de eventos code push ou pull request](pipelines-filter.md). Por exemplo, o trecho a seguir é adicionado ao nível do pipeline na definição JSON do pipeline. Neste exemplo, `release-v0` e `release-v1` são as tags Git a serem incluídas, enquanto `release-v2` são as tags Git a serem excluídas.

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```