

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 do Enterprise Server
<a name="connections-ghes"></a>

As conexões permitem que você autorize e estabeleça configurações que associem seu provedor terceirizado aos seus AWS recursos. Para associar seu repositório de terceiros como origem do pipeline, use uma conexão. 

**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 do GitHub Enterprise Server 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 **do GitHub Enterprise Server**. Consulte [Crie uma conexão com o GitHub Enterprise Server (console)](#connections-ghes-console) para adicionar a ação. O console ajuda você a criar um recurso de host e um recurso de conexão.
+ Usar a CLI para adicionar a configuração da ação `CreateSourceConnection` com o provedor `GitHubEnterpriseServer` e criar seus recursos:
  + Para criar seus recursos de conexão, consulte [Crie um host e uma conexão com o GitHub Enterprise Server (CLI)](#connections-ghes-cli) para criar um recurso de host e um recurso de conexão com a CLI.
  + Use o exemplo de configuração da ação `CreateSourceConnection` em [CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas](action-reference-CodestarConnectionSource.md) para adicionar sua ação, conforme mostrado 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 no GitHub Enterprise Server e instalado a instância do GitHub Enterprise Server em sua infraestrutura.
**nota**  
Cada VPC só pode ser associada a um host (instância do GitHub Enterprise Server) por vez.
+ Você já deve ter criado um repositório de código com o GitHub Enterprise Server.

**Topics**
+ [Crie uma conexão com o GitHub Enterprise Server (console)](#connections-ghes-console)
+ [Crie um host e uma conexão com o GitHub Enterprise Server (CLI)](#connections-ghes-cli)

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

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

**nota**  
GitHub As conexões do Enterprise Server fornecem acesso somente aos repositórios pertencentes à conta do GitHub Enterprise Server que foi usada para criar a conexão.

**Antes de começar**

Para uma conexão de host com o GitHub Enterprise Server, você deve ter concluído as etapas para criar um recurso de host para sua conexão. Consulte [Gerenciar hosts para conexões](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html).

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

**Para criar ou editar seu pipeline**

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 **Origem**, em **Provedor de origem**, escolha **GitHub Enterprise Server**.
   + 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ção**, escolha **GitHub Enterprise Server**.

1. Execute um destes procedimentos:
   + Em **Conexão**, se você ainda não tiver criado uma conexão com seu provedor, escolha **Conectar ao GitHub Enterprise Server**. Prossiga para a Etapa 2: Criar uma conexão com o GitHub Enterprise Server.
   + 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 para sua conexão.

### Crie uma conexão com o GitHub Enterprise Server
<a name="connections-ghes-console-create"></a>

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

**Importante**  
Conexões de código da AWS não oferece suporte ao GitHub Enterprise Server versão 2.22.0 devido a um problema conhecido na versão. Para conectar, atualize para a versão 2.22.1 ou a versão mais recente disponível.

**Para se conectar ao GitHub Enterprise Server**

1. Em **Connection name** (Nome da conexão), informe um nome para a conexão.

1. Em **URL**, insira o endpoint do seu servidor.
**nota**  
Se a URL fornecida já tiver sido usada para configurar um GitHub Enterprise Server para uma conexão, você será solicitado a escolher o ARN do recurso de host que foi criado anteriormente para esse endpoint.

1. Se você tiver iniciado seu servidor em uma Amazon VPC e quiser se conectar à sua VPC, escolha**Use a VPC** (Usar uma VPC) e conclua as operações a seguir.

   1. Em **VPC ID** (ID da VPC), escolha o ID da sua VPC. Certifique-se de escolher a VPC para a infraestrutura em que sua instância do GitHub Enterprise Server está instalada ou uma VPC com acesso à sua instância do GitHub Enterprise Server por meio de VPN ou Direct Connect.

   1. Em **Subnet ID** (ID da sub-rede), escolha **Add** (Adicionar). No campo, escolha o ID da sub-rede que você deseja usar para seu host. Você pode escolher até 10 sub-redes.

      Certifique-se de escolher a sub-rede para a infraestrutura em que sua instância do GitHub Enterprise Server está instalada ou uma sub-rede com acesso à sua instância instalada do GitHub Enterprise Server por meio de VPN ou Direct Connect.

   1. Em **Grupo de segurança IDs**, escolha **Adicionar**. No campo, escolha o grupo de segurança que você deseja usar para seu host. Você pode criar até 10 grupos de segurança.

      Certifique-se de escolher o grupo de segurança para a infraestrutura em que sua instância do GitHub Enterprise Server está instalada ou um grupo de segurança com acesso à sua instância instalada do GitHub Enterprise Server por meio de VPN ou Direct Connect.

   1. Se você tiver uma VPC privada configurada e tiver configurado sua instância do GitHub Enterprise Server para realizar a validação de TLS usando uma autoridade de certificação não pública, em Certificado **TLS, insira seu ID do certificado**. O valor do certificado TLS deve ser a chave pública do certificado.  
![\[Captura de tela do console mostrando a criação GitHub da página de conexão do Enterprise Server para opções de VPC.\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/connections-create-ghes-screen-vpc.png)

1. Escolha **Connect to GitHub Enterprise Server**. A conexão criada é mostrada com um status **Pending** (Pendente). Um recurso de host é criado para a conexão com as informações do servidor fornecidas. Para o nome do host, o URL é usado.

1. Selecione **Update pending connection** (Atualizar conexão pendente).

1. Se solicitado, na página de login do GitHub Enterprise, faça login com suas credenciais do GitHub Enterprise.

1. Na página **Criar GitHub aplicativo**, escolha um nome para seu aplicativo.

1. <app-name>Na página de GitHub autorização, escolha **Autorizar.**

1. Na página de instalação da aplicação, uma mensagem informa que a aplicação de conector está pronta para ser instalada. Se você tiver várias organizações, poderá ser solicitado a escolher a organização onde deseja instalar a aplicação. 

   Escolha as configurações do repositório em que deseja instalar a aplicação. Escolha **Instalar**.

1. A página de conexão mostra a conexão criada em um status **Available** (Disponível).

### Etapa 3: Salvar sua ação de origem do GitHub Enterprise Server
<a name="connections-ghes-console-save"></a>

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

**Para concluir e salvar a ação de origem com a conexão**

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 ação do GitHub Enterprise Server usando o método padrão, escolha **CodePipelinedefault**. A ação acessa os arquivos do repositório do GitHub Enterprise Server 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.

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

## Crie um host e uma conexão com o GitHub Enterprise Server (CLI)
<a name="connections-ghes-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`

Você pode usar o AWS Command Line Interface (AWS CLI) para criar um host para conexões instaladas. 

**nota**  
Você só cria um host uma vez por conta do GitHub Enterprise Server. Todas as suas conexões com uma conta específica do GitHub Enterprise Server usarão o mesmo host.

Você usa um host para representar o endpoint da infraestrutura em que seu provedor de terceiros está instalado. Após concluir a criação do host com a CLI, o host fica no status **Pendente**. Então, você configura ou registra o host para movê-lo para o status **Disponível**. Depois que o host estiver disponível, conclua as etapas para criar uma conexão.

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

**Importante**  
Um host criado por meio do `Pending` status AWS CLI is in por padrão. Após criar um host com a CLI, use o console ou a CLI para configurar o host e tornar seu status `Available`.

**Para criar um host**

1. Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use o AWS CLI para executar o **create-host** comando, especificando o `--name``--provider-type`, e `--provider-endpoint` para sua conexão. Neste exemplo, o nome do provedor de terceiros é `GitHubEnterpriseServer` e o endpoint é `my-instance.dev`.

   ```
   aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"
   ```

   Se o comando for bem-sucedido, ele retornará as informações de nome do recurso da Amazon (ARN) do host semelhantes às mostradas a seguir.

   ```
   {
       "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605"
   }
   ```

   Após esta etapa, o host estará no status `PENDING`.

1. Use o console para concluir a configuração do host e mova o host para um status `Available`.

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

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 `--host-arn` e `--connection-name` para sua conexão.

   ```
   aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --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"
   }
   ```

1. Use o console para configurar a conexão pendente.

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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```