

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

# Execute a amostra do GitHub Enterprise Server para CodeBuild
<a name="sample-github-enterprise"></a>

AWS CodeBuild suporta o GitHub Enterprise Server como um repositório de origem. Este exemplo mostra como configurar seus CodeBuild projetos quando o repositório do GitHub Enterprise Server tem um certificado instalado. Também mostra como habilitar webhooks para que CodeBuild reconstrua o código-fonte toda vez que uma alteração de código for enviada ao seu GitHub repositório do Enterprise Server.

**Topics**
+ [Pré-requisitos](#sample-github-enterprise-prerequisites)
+ [Etapa 1: criar um projeto de compilação com o GitHub Enterprise Server e habilitar webhooks](#sample-github-enterprise-running)

## Pré-requisitos
<a name="sample-github-enterprise-prerequisites"></a>

1. Gere um token de acesso pessoal para seu CodeBuild projeto. Recomendamos que você crie um usuário GitHub corporativo e gere um token de acesso pessoal para esse usuário. Copie-o para sua prancheta para que possa ser usado ao criar seu CodeBuild projeto. Para obter mais informações, consulte [Criação de um token de acesso pessoal para a linha de comando](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) no site da GitHub Ajuda.

   Ao criar o token de acesso pessoal, inclua o escopo do **repositório** na definição.  
![\[O escopo do repositório na definição.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/scopes.png)

1. Baixe seu certificado do GitHub Enterprise Server. CodeBuild usa o certificado para criar uma conexão SSL confiável com o repositório.

   **Clientes do Linux/macOS:**

   Na janela de terminal do , execute o seguinte comando:

   ```
   echo -n | openssl s_client -connect HOST:PORTNUMBER \
       | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pem
   ```

   Substitua os espaços reservados no comando pelos seguintes valores:

   *HOST*. O endereço IP do seu repositório do GitHub Enterprise Server.

   *PORTNUMBER*. O número da porta que você está usando para se conectar (por exemplo, 443).

   *folder*. A pasta em que você baixou seu certificado.

   *filename*. O nome do arquivo do seu certificado.
**Importante**  
Salve o certificado como um arquivo .pem.

   **Clientes no Windows:**

   Use seu navegador para baixar seu certificado do GitHub Enterprise Server. Para ver os detalhes do certificado do site, escolha o ícone de cadeado. Para obter informações sobre como exportar o certificado, consulte a documentação do navegador.
**Importante**  
Salve o certificado como um arquivo .pem.

1. Faça upload do arquivo do certificado para um bucket do S3. Para obter informações sobre como criar um bucket do S3, consulte [Como criar um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket.html) Para obter informações sobre como fazer upload de objetos para um bucket do S3, consulte [Como fazer upload de arquivos e pastas para um bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)
**nota**  
Esse bucket deve estar na mesma AWS região das suas compilações. Por exemplo, se você CodeBuild instruir a execução de uma compilação na região Leste dos EUA (Ohio), o bucket deverá estar na região Leste dos EUA (Ohio).

## Etapa 1: criar um projeto de compilação com o GitHub Enterprise Server e habilitar webhooks
<a name="sample-github-enterprise-running"></a>

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Se uma página de CodeBuild informações for exibida, escolha **Criar projeto de construção**. Caso contrário, no painel de navegação, expanda **Compilar**, escolha **Projetos de compilação** e, depois, **Criar projeto de compilação**. 

1. Em **Nome do projeto**, insira um nome para esse projeto de compilação. Os nomes dos projetos de criação devem ser exclusivos em cada AWS conta. Também é possível incluir uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

1. Em **Origem**, em **Provedor de origem**, escolha **Servidor GitHub corporativo**.
   + Escolha **Gerenciar credenciais da conta** e **Token de acesso pessoal**. Em **Service**, escolha **Secrets Manager (recomendado)** e configure o segredo. Em seguida**, em Token de acesso pessoal GitHub corporativo**, insira seu token de acesso pessoal e escolha **Salvar**.
   + Em **Repository URL (URL do repositório)**, insira o caminho para o seu repositório, incluindo o nome do repositório.
   + Expanda **Configuração Adicional**.
   + Selecione **Rebuild every time a code change is pushed to this repository** para recompilar toda vez que uma alteração de código for enviada para esse repositório.
   + Selecione **Habilitar SSL inseguro** para ignorar os avisos de SSL enquanto você se conecta ao seu repositório de projetos do GitHub Enterprise Server.
**nota**  
Recomendamos usar **Enable insecure SSL** somente para teste. Ele não deve ser usado em um ambiente de produção.  
![\[A configuração do repositório do projeto GitHub Enterprise Server.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/github-enterprise.png)

1. Em **Ambiente**:

   Para **Imagem do ambiente**, faça um dos seguintes procedimentos:
   + Para usar uma imagem do Docker gerenciada por AWS CodeBuild, escolha **Imagem gerenciada** e, em seguida, faça seleções em **Sistema operacional**, **Tempo de execução (s)**, **Imagem e Versão da** **imagem**. Faça uma seleção em **Environment type (Tipo de ambiente)** se estiver disponível.
   + Para usar outra imagem do Docker, selecione **Custom image (Imagem personalizada)**. Em **Tipo de ambiente**, selecione **ARM**, **Linux**, **Linux GPU** ou **Windows**. Se você selecionar **Other registry (Outro registro)**, em **External registry URL (URL de registro externo)**, insira o nome e a tag da imagem do Docker no Docker Hub usando o formato `docker repository/docker image name`. Se você escolher o **Amazon ECR**, use o **repositório Amazon ECR e** a imagem do **Amazon ECR para escolher a imagem** do Docker em sua conta. AWS 
   + Para usar uma imagem privada do Docker, selecione **Imagem personalizada**. Em **Tipo de ambiente**, selecione **ARM**, **Linux**, **Linux GPU** ou **Windows**. Em **Image registry (Registro da imagem)**, selecione **Other registry (Outro registro)** e insira o ARN das credenciais da imagem privada do Docker. As credenciais devem ser criadas pelo Secrets Manager. Para obter mais informações, consulte [O que é o AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) no *Guia do usuário do AWS Secrets Manager *.

1. Em **Perfil de serviço**, faça um dos seguintes procedimentos:
   + Se você não tiver uma função CodeBuild de serviço, escolha **Nova função de serviço**. No campo **Role name**, digite o nome da nova função.
   + Se você tiver uma função CodeBuild de serviço, escolha **Função de serviço existente**. Em **ARN do perfil**, escolha o perfil de serviço.
**nota**  
Ao usar o console para criar ou atualizar um projeto de compilação, você pode criar uma função de CodeBuild serviço ao mesmo tempo. Por padrão, a função funciona somente com esse projeto de build. Se você usar o console para associar essa função de serviço a outro projeto de compilação, a função será atualizada para funcionar com os outros projetos de compilação. Uma função de serviço pode funcionar com até 10 projetos de compilação.

1. Expanda **Configuração Adicional**.

   Se você quiser CodeBuild trabalhar com sua VPC:
   + Para **VPC**, escolha a ID da VPC que usa. CodeBuild 
   + Para sub-redes **VPC, escolha as sub-redes** que incluem os recursos que usa. CodeBuild 
   + Para **grupos de segurança da VPC**, escolha os grupos de segurança CodeBuild usados para permitir o acesso aos recursos no. VPCs

   Para obter mais informações, consulte [Use AWS CodeBuild com a Amazon Virtual Private Cloud](vpc-support.md).

1. Em **Buildspec**, siga um destes procedimentos:
   + Escolha **Usar um arquivo buildspec** para usar o arquivo buildspec.yml no diretório raiz do código-fonte.
   + Selecione **Inserir comandos de compilação** para usar o console para inserir comandos de compilação.

   Para obter mais informações, consulte o [Referência de buildspec](build-spec-ref.md).

1. Em **Artefatos**, para **Tipo**, faça um dos seguintes procedimentos:
   + Se você não quiser criar artefatos de saída de compilação, selecione **Nenhum artefato**.
   + Para armazenar a saída de compilação em um bucket do S3, escolha **Amazon S3** e faça o seguinte:
     + Se você quiser usar o nome do projeto para a pasta ou arquivo ZIP de saída da compilação, deixe **Name (Nome)** em branco. Caso contrário, insira o nome. Por padrão, o nome do artefato é o nome do projeto. Se você quiser usar um nome diferente, insira-o na caixa de nome do artefato. Se você quiser gerar um arquivo ZIP, inclua a extensão zip.
     + Para **Bucket name**, selecione o nome do bucket de saída.
     + Se você tiver escolhido **Inserir comandos de compilação** anteriormente neste procedimento, em **Arquivos de saída**, insira os locais dos arquivos da compilação que deseja incluir na pasta ou no arquivo ZIP de saída da compilação. Para vários locais, separe-os com uma vírgula (por exemplo, `appspec.yml, target/my-app.jar`). Para obter mais informações, consulte a descrição de `files` em [Sintaxe de buildspec](build-spec-ref.md#build-spec-ref-syntax).

1. Em **Cache type (Tipo de cache)**, selecione uma das seguintes opções:
   + Se não quiser usar um cache, escolha **No cache**.
   + Se você quiser um cache do Amazon S3, selecione **Amazon S3** e faça o seguinte:
     + Em **Bucket**, escolha o nome do bucket do S3 onde o cache está armazenado.
     + (Opcional) Em **Prefixo do caminho do cache**, insira um prefixo de caminho do Amazon S3. O valor **Cache path prefix (Prefixo do caminho do cache)** é semelhante ao nome de um diretório. Ele permite que você armazene o cache em um bucket no mesmo diretório. 
**Importante**  
Não acrescente uma barra (/) ao final do prefixo do caminho.
   +  Se você quiser usar um cache local, selecione **Local** e depois selecione um ou mais modos de cache local. 
**nota**  
O modo de cache de camada do Docker está disponível apenas para o Linux. Se optar por esse modo, o projeto deverá ser executado no modo privilegiado. 

   O uso do cache economiza um tempo de compilação considerável porque as partes reutilizáveis do ambiente de compilação são armazenadas no cache e usadas em diferentes compilações. Para obter informações sobre como especificar um cache no arquivo de especificação de compilação, consulte [Sintaxe de buildspec](build-spec-ref.md#build-spec-ref-syntax). Para obter mais informações sobre armazenamento em cache, consulte [Compilações em cache para melhorar o desempenho](build-caching.md). 

1. Selecione **Create build project (Criar projeto de compilação)**. Na página de projeto da compilação, escolha **Start build (Iniciar compilação)**.