Executar o exemplo do GitHub Enterprise Server para o CodeBuild
AWS CodeBuildAgora, o oferece suporte ao GitHub Enterprise Server como um repositório de origem. Este exemplo mostra como configurar os projetos do CodeBuild quando o repositório do GitHub Enterprise Server tem um certificado instalado. Ele também mostra como habilitar webhooks para que o CodeBuild recompile o código-fonte toda vez que uma alteração de código for enviada ao repositório do GitHub Enterprise Server.
Tópicos
Pré-requisitos
-
Gere um token de acesso pessoal para o projeto do CodeBuild. Recomendamos que você crie um usuário do GitHub Enterprise e gere um token de acesso pessoal para este usuário. Copie-o na área de transferência para que ele possa ser usado quando você criar o projeto do CodeBuild. Para obter mais informações, consulte Criar um token de acesso pessoal para a linha de comando
no site de Ajuda do GitHub. Ao criar o token de acesso pessoal, inclua o escopo do repositório na definição.
-
Baixe o certificado do GitHub Enterprise Server. O CodeBuild usa o certificado para estabelecer 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 -connectHOST:PORTNUMBER\ | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pemSubstitua os espaços reservados no comando pelos seguintes valores:
HOST. O endereço IP do 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 onde você colocou o certificado obtido por download.filename. O nome do seu arquivo de certificado.Importante
Salve o certificado como um arquivo .pem.
Clientes no Windows:
Use o navegador para fazer download do certificado a partir 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.
-
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? 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?
nota
Esse bucket deve estar na mesma região da AWS que as compilações. Por exemplo, se você instruir o CodeBuild para executar uma compilação na região do Leste dos EUA (Ohio), o bucket deverá estar na região do Leste dos EUA (Ohio).
Etapa 1: criar um projeto de compilação com o GitHub Enterprise Server e habilitar webhooks
Abra o console do AWS CodeBuild em https://console.aws.amazon.com/codesuite/codebuild/home
. Se uma página de informações do CodeBuild for exibida, selecione Criar projeto de compilação. Caso contrário, no painel de navegação, expanda Compilar, escolha Projetos de compilação e, depois, Criar projeto de compilação.
Em Nome do projeto, insira um nome para esse projeto de compilação. Os nomes de projeto de build devem ser únicos em cada conta AWS. 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.
-
Em Origem, em Provedor de origem, selecione GitHub Enterprise Server.
-
Escolha Gerenciar credenciais da conta e Token de acesso pessoal. Em Service, escolha Secrets Manager (recomendado) e configure o segredo. Depois, em Token de acesso pessoal do GitHub Enterprise, insira seu token de acesso pessoal e selecione 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 não seguro para ignorar os avisos do SSL ao conectar-se ao seu repositório do projeto 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.
-
Em Ambiente:
Para Imagem do ambiente, faça um dos seguintes procedimentos:
-
Para usar uma imagem do Docker gerenciada pelo AWS CodeBuild, selecione Imagem gerenciada e faça as escolhas em Sistema operacional, Runtime(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
. Se você escolher Amazon ECR, use Repositório do Amazon ECR e Imagem do Amazon ECR para selecionar a imagem do Docker na conta da AWS.docker repository/docker image name -
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? no Guia do usuário do AWS Secrets Manager.
-
Em Perfil de serviço, faça um dos seguintes procedimentos:
-
Se você não tiver um perfil de serviço do CodeBuild, selecione Novo perfil de serviço. No campo Role name, digite o nome da nova função.
-
Se você tiver um perfil de serviço do CodeBuild, selecione Perfil 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, é possível criar um perfil de serviço do CodeBuild 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.
-
-
Expanda Configuração Adicional.
Se você desejar que o CodeBuild funcione com a VPC:
-
Em VPC, escolha o ID da VPC que o CodeBuild usa.
-
Em Sub-redes da VPC, selecione as sub-redes que incluem recursos usados pelo CodeBuild.
-
Em Grupos de segurança da VPC, selecione os grupos de segurança que o CodeBuild usa para permitir acesso a recursos nas VPCs.
Para obter mais informações, consulte Usar o AWS CodeBuild com o Amazon Virtual Private Cloud.
-
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 a Referência de buildspec.
-
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 defilesem Sintaxe de buildspec.
-
-
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. Para obter mais informações sobre armazenamento em cache, consulte Compilações em cache para melhorar o desempenho.
-
-
Selecione Create build project (Criar projeto de compilação). Na página de projeto da compilação, escolha Start build (Iniciar compilação).