GitHub e acesso ao GitHub Enterprise Server em CodeBuild - AWS CodeBuild

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 e acesso ao GitHub Enterprise Server em CodeBuild

Pois GitHub, você pode usar um token de acesso pessoal, um OAuth aplicativo, um segredo do Secrets Manager ou uma conexão de GitHub aplicativo para acessar o provedor de origem. Para o GitHub Enterprise Server, você pode usar um token de acesso pessoal, um segredo do Secrets Manager ou uma conexão de GitHub aplicativo para acessar o provedor de origem.

GitHub Conexões de aplicativos para GitHub um GitHub Enterprise Server

Você pode usar o GitHub aplicativo para se conectar com CodeBuild. GitHub As conexões de aplicativos são suportadas por meio de Conexões de código da AWS.

O acesso do provedor de origem permite que você acione uma compilação ao assinar CreateWebhook, GitHub eventos de webhook usar ou usar Use executores de GitHub ações auto-hospedados em AWS CodeBuild em CodeBuild.

nota

CodeConnections está disponível em menos regiões do que CodeBuild. Você pode usar conexões entre regiões em CodeBuild. Conexões criadas em regiões opcionais não podem ser usadas em outras regiões. Para obter mais informações, consulte Conexões de código da AWS Endpoints e cotas.

Etapa 1: criar uma conexão com o GitHub aplicativo (console)

Use essas etapas para usar o CodeBuild console para adicionar uma conexão ao seu projeto no GitHub.

Para criar uma conexão com GitHub

Etapa 2: conceder acesso à IAM função CodeBuild do projeto para usar a conexão

Você pode conceder acesso à IAM função do CodeBuild projeto para usar os GitHub tokens fornecidos pela sua conexão.

Para conceder acesso à IAM função CodeBuild do projeto
  1. Crie uma IAM função para seu CodeBuild projeto seguindo as instruções CodeBuild Permitir interagir com outros AWS serviços para seu CodeBuild projeto.

  2. Ao seguir as instruções, adicione a IAM política a seguir à sua função no CodeBuild projeto para conceder acesso à conexão.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ <connection-arn> ] } ] }

Etapa 3: Configurar CodeBuild para usar a nova conexão

Você pode configurar uma conexão como uma credencial no nível da conta e usá-la em um projeto.

AWS Management Console
Para configurar uma conexão como uma credencial de nível de conta no AWS Management Console
  1. Em Source provider, escolha GitHub.

  2. Para Credencial, faça o seguinte:

    • Escolha Credencial de origem padrão para usar a credencial de origem padrão da sua conta e aplicá-la a todos os projetos.

      1. Se você não estiver conectado GitHub, escolha Gerenciar credencial de origem padrão.

      2. Em Tipo de credencial, escolha GitHub Aplicativo.

      3. Em Conexão, escolha usar uma conexão existente ou criar uma nova conexão.

    • Escolha Credencial de origem personalizada para usar uma credencial de origem personalizada para substituir as configurações padrão da sua conta.

      1. Em Tipo de credencial, escolha GitHub Aplicativo.

      2. Em Conexão, escolha usar uma conexão existente ou criar uma nova conexão.

AWS CLI
Para configurar uma conexão como uma credencial de nível de conta no AWS CLI
  • Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use o AWS CLI para executar o import-source-credentials comando, especificando o --auth-type--server-type, e --token para sua conexão.

    Use o seguinte comando:

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>

Você também pode configurar vários tokens para seus CodeBuild projetos. Para obter mais informações, consulte Configure vários tokens como credenciais de nível de origem.

GitHub e token de acesso do GitHub Enterprise Server

Pré-requisitos do token de acesso

Antes de começar, você deve adicionar os escopos de permissão adequados ao seu token de GitHub acesso.

Pois GitHub, seu token de acesso pessoal deve ter os seguintes escopos.

  • repo: concede controle total de repositórios privados.

  • repo:status: concede acesso de leitura/gravação aos status de confirmação do repositório público e privado.

  • admin:repo_hook: concede controle total de ganchos do repositório. Esse escopo não será obrigatório se o token tiver o escopo repo.

  • admin:org_hook: concede controle total dos ganchos da organização. Esse escopo só é necessário se você estiver usando o recurso de webhook da organização.

Para obter mais informações, consulte Entendendo os escopos dos OAuth aplicativos no GitHub site.

Se você estiver usando tokens de acesso pessoal refinados, dependendo do seu caso de uso, seu token de acesso pessoal pode precisar das seguintes permissões:

  • Conteúdo: Somente leitura: concede acesso a repositórios privados. Essa permissão é necessária se você estiver usando repositórios privados como fonte.

  • Status de confirmação: leitura e gravação: concede permissão para criar status de confirmação. Essa permissão é necessária se seu projeto tiver um webhook configurado ou se você tiver o recurso de status de criação de relatório ativado.

  • Webhooks: Leia e escreva: concede permissão para gerenciar webhooks. Essa permissão é necessária se seu projeto tiver um webhook configurado.

  • Pull requests: somente leitura: concede permissão para acessar pull requests. Essa permissão é necessária se seu webhook tiver um FILE_PATH filtro em eventos de pull request.

  • Administração: leitura e gravação: essa permissão é necessária se você estiver usando o recurso de execução de GitHub ações auto-hospedado com. CodeBuild Para obter mais detalhes, consulte Criar um token de registro para um repositório e. Use executores de GitHub ações auto-hospedados em AWS CodeBuild

nota

Se você quiser acessar os repositórios da organização, certifique-se de especificar a organização como proprietária do recurso do token de acesso.

Para obter mais informações, consulte Permissões necessárias para tokens de acesso pessoal refinados no site. GitHub

Conecte-se GitHub com um token de acesso (console)

Para usar o console para conectar seu projeto ao GitHub uso de um token de acesso, faça o seguinte ao criar um projeto. Para ter mais informações, consulte Criar um projeto de compilação (console).

  1. Em Source provider, escolha GitHub.

  2. Para Credencial, faça o seguinte:

    • Escolha Credencial de origem padrão para usar a credencial de origem padrão da sua conta e aplicá-la a todos os projetos.

      1. Se você não estiver conectado GitHub, escolha Gerenciar credencial de origem padrão.

      2. Em Tipo de credencial, escolha Token de acesso pessoal.

      3. Se você escolheu Credencial de origem padrão, em Serviço, escolha qual serviço você gostaria de usar para armazenar seu token e faça o seguinte:

        • Se você optar por usar o Secrets Manager, poderá optar por usar uma conexão secreta existente ou criar um novo segredo e escolher Salvar. Para obter mais informações sobre como criar um novo segredo, consulteCrie e armazene um token em um segredo do Secrets Manager.

        • Se você optar por usar CodeBuild, insira seu token de acesso GitHub pessoal e escolha Salvar.

    • Escolha Credencial de origem personalizada para usar uma credencial de origem personalizada para substituir as configurações padrão da sua conta.

      1. Em Tipo de credencial, escolha Token de acesso pessoal.

      2. Em Conexão, escolha usar uma conexão secreta existente ou criar uma nova.

Conecte-se GitHub com um token de acesso (CLI)

Siga estas etapas para usar o AWS CLI para conectar seu projeto ao GitHub uso de um token de acesso. Para obter informações sobre como usar o AWS CLI with AWS CodeBuild, consulte Referência da linha de comando o.

  1. Execute o comando import-source-credentials:

    aws codebuild import-source-credentials --generate-cli-skeleton

    JSON- os dados formatados aparecem na saída. Copie os dados para um arquivo (por exemplo,import-source-credentials.json) em um local no computador local ou na instância em que o AWS CLI está instalado. Modifique os dados copiados da maneira a seguir e salve os resultados.

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    Substitua o seguinte:

    • server-type: Valor obrigatório. O provedor de origem usado para essa credencial. Os valores válidos são GITHUBBITBUCKET, GITHUB _ ENTERPRISEGITLAB, e GITLAB _ SELF _MANAGED.

    • auth-type: Valor obrigatório. O tipo de autenticação usado para se conectar a um repositório. Os valores válidos são BASIC PERSONAL _ OAUTHAUTH, ACCESS _ _ TOKENCODECONNECTIONS, e SECRETS _MANAGER. Pois GitHub, somente PERSONAL _ ACCESS _ TOKEN é permitido. BASIC_ só AUTH é permitido com a senha do aplicativo Bitbucket.

    • should-overwrite: Valor opcional. Defina como false para impedir a substituição das credenciais de origem do repositório. Defina como true para substituir as credenciais de origem do repositório. O valor padrão é true.

    • token: Valor obrigatório. Para GitHub nosso GitHub Enterprise Server, esse é o token de acesso pessoal. Para o Bitbucket, esse é o token de acesso pessoal ou a senha do aplicativo. Para o tipo de autenticaçãoCODECONNECTIONS, essa é a conexão. ARN Para o tipo de autenticação SECRETS _MANAGER, esse é o segredo. ARN

    • username: Valor opcional. Esse parâmetro é ignorado para provedores GitHub de origem do GitHub Enterprise Server.

  2. Para conectar sua conta com um token de acesso, alterne para o diretório que contém o arquivo import-source-credentials.json que você salvou na etapa 1 e execute o comando import-source-credentials novamente.

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON- os dados formatados aparecem na saída com um nome de recurso da Amazon ()ARN.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    nota

    Se você executar o comando import-source-credentials com o mesmo tipo de servidor e tipo de autenticação uma segunda vez, o token de acesso armazenado será atualizado.

    Depois que sua conta estiver conectada a um token de acesso, você poderá usá-lo create-project para criar seu CodeBuild projeto. Para obter mais informações, consulte Criar um projeto de compilação (AWS CLI).

  3. Para visualizar os tokens de acesso conectados, execute o comando list-source-credentials.

    aws codebuild list-source-credentials

    Um sourceCredentialsInfos objeto JSON formatado aparece na saída:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    sourceCredentialsObject contém uma lista de informações de credenciais de origem conectadas:

    • authType é o tipo de autenticação usada pelas credenciais, Isso pode ser OAUTHBASIC_AUTH,PERSONAL_ACCESS_TOKEN,CODECONNECTIONS, ouSECRETS_MANAGER.

    • serverType é o tipo de provedor de origem. Isso pode ser GITHUBGITHUB_ENTERPRISE,BITBUCKET,GITLAB, ouGITLAB_SELF_MANAGED.

    • O arn é o ARN do token.

  4. Para se desconectar de um provedor de origem e remover seus tokens de acesso, execute o delete-source-credentials comando com seuARN.

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    JSON- os dados formatados são retornados com uma ARN das credenciais excluídas.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }

GitHub OAuthaplicativo

Conecte-se GitHub usando OAuth (console)

Para usar o console para conectar seu projeto ao GitHub uso de um OAuth aplicativo, faça o seguinte ao criar um projeto. Para ter mais informações, consulte Criar um projeto de compilação (console).

  1. Em Source provider, escolha GitHub.

  2. Para Credencial, faça o seguinte:

    • Escolha Credencial de origem padrão para usar a credencial de origem padrão da sua conta e aplicá-la a todos os projetos.

      1. Se você não estiver conectado GitHub, escolha Gerenciar credencial de origem padrão.

      2. Para Tipo de credencial, escolha OAuth.

      3. Se você escolheu Credencial de origem padrão, em Serviço, escolha qual serviço você gostaria de usar para armazenar seu token e faça o seguinte:

        • Se você optar por usar o Secrets Manager, poderá optar por usar uma conexão secreta existente ou criar um novo segredo e escolher Salvar. Para obter mais informações sobre como criar um novo segredo, consulteCrie e armazene um token em um segredo do Secrets Manager.

        • Se você optar por usar CodeBuild, continue escolhendo Connect to GitHub.

    • Escolha Credencial de origem personalizada para usar uma credencial de origem personalizada para substituir as configurações padrão da sua conta.

      1. Para Tipo de credencial, escolha OAuth.

      2. Em Conexão, escolha usar uma conexão secreta existente ou criar uma nova.

Para revisar seus OAuth aplicativos autorizados, navegue até Aplicativos ativados GitHub e verifique se um aplicativo chamado de AWS CodeBuild (region) propriedade da aws-codesuite está listado.