Como criar repositórios do GitHub Enterprise

O Cloud Build permite criar gatilhos em uma instância do GitHub Enterprise. Nesta página, explicamos como usar os gatilhos do GitHub Enterprise para invocar builds em resposta a confirmações ou solicitações de envio de um repositório do GitHub Enterprise.

Saiba mais sobre os gatilhos do Cloud Build e os repositórios do Cloud Build.

Antes de começar

  • Enable the Cloud Build and Secret Manager APIs.

    Enable the APIs

Como criar um gatilho do GitHub Enterprise

Nesta seção, explicamos como criar um gatilho e vinculá-lo à instalação do GitHub Enterprise. Se você quiser usar gatilhos do GitHub Enterprise em uma rede privada, consulte Como criar repositórios do GitHub Enterprise em uma rede privada para mais instruções.

Console

Para criar acionadores do GitHub Enterprise usando o console do Google Cloud:

  1. Abra a página Gatilhos no console do Google Cloud.

    Abrir a página Acionadores

  2. Selecione o projeto no menu suspenso do seletor de projetos na parte superior da página.

  3. Clique em Abrir.

  4. Clique em Criar gatilho.

  5. Preencha as configurações de gatilho a seguir:

    • Nome: insira um nome para o gatilho.

    • Região: selecione a região do acionador.

      • Se o arquivo de configuração do build associado ao gatilho especificar um pool privado, o Cloud Build usa o pool para executar seu build. Nesse caso, a região especificada no gatilho precisa corresponder à região em que você criou o pool privado.
      • Se o arquivo de configuração do build associado ao gatilho não especifica um pool privado, O Cloud Build usa a configuração pool para executar seu build na mesma região como gatilho.
    • Descrição (opcional): insira uma descrição para o gatilho.

    • Evento: selecione o evento de repositório para invocar seu gatilho.

      • Enviar para uma ramificação: defina o gatilho para iniciar um build em confirmações de uma ramificação específica.

      • Enviar nova tag por push: configure o gatilho para iniciar um build em confirmações que contenham uma tag específica.

      • Solicitação de envio: defina seu gatilho para iniciar uma compilação. em commits para uma solicitação de envio.

    • Origem: selecione 2a geração como sua origem.

      • Repositório: na lista de repositórios disponíveis, selecione o repositório que você quer. Para conectar um novo repositório, consulte Conectar-se a um repositório do GitHub Enterprise.

      • Ramificação ou Tag: especifique uma expressão regular correspondente ao valor da ramificação ou da tag. Para ver informações sobre a sintaxe aceitável de expressões regulares, consulte Sintaxe de RE2 (em inglês).

      • Controle de comentários: se você selecionou Solicitação de envio (somente aplicativo GitHub) como seu Evento, escolha uma das seguintes opções para controlar se um build será executado automaticamente pelo gatilho:

        • Obrigatório, exceto para proprietários e colaboradores: quando uma solicitação de envio for criada ou atualizada por um proprietário ou colaborador de repositório, os builds são executados automaticamente pelo gatilho. Se um colaborador externo iniciar a ação, os builds serão executadas somente depois que um proprietário ou colaborador comentar a /gcbrun na solicitação de envio.

        • Obrigatório: quando uma solicitação de envio é criada ou atualizada por um proprietário ou colaborador do repositório com /gcbrun na descrição ou no comentário da solicitação de envio, os builds são executados automaticamente pelo gatilho. Quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds só são executados depois que um proprietário ou colaborador comenta /gcbrun na solicitação de envio.

        • Não necessário: quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds são executados automaticamente por gatilhos.

    • Arquivos incluídos (opcional): as alterações que afetam pelo menos um desses arquivos invocarão um build.

    • Arquivos ignorados (opcional): as alterações que afetam somente os arquivos ignorados não invocarão um build.

    • Configuração: selecione o arquivo de configuração da versão localizado no seu repositório remoto ou crie um arquivo de configuração de versão in-line para usar na versão.

      • Type: selecione o tipo de configuração a ser usado para o build.
        • Detectado automaticamente: o Cloud Build detecta automaticamente o tipo de configuração se você tiver cloudbuild.yaml ou Dockerfile no repositório.
        • Arquivo de configuração do Cloud Build (yaml ou json): use um arquivo de configuração do build na sua configuração.
        • Dockerfile: use um Dockerfile para sua configuração.
        • Buildpacks: use os buildpacks na sua configuração.
      • Local: especifique o local de configuração.

        • Repositório: se o arquivo de configuração estiver localizado no repositório remoto, forneça a localização do arquivo de configuração do build ou o Dockerfile e um nome para a imagem resultante. Se sua configuração for um Dockerfile, você poderá fornecer um tempo limite para a criação. Depois de fornecer o Dockerfile e o nome da imagem, você verá uma visualização do comando docker build que sua o build executará.
        • Inline: se você selecionou o arquivo de configuração do Cloud Build (yaml ou json) como opção de configuração, pode especificar a configuração de compilação in-line. Clique em Abrir editor para gravar seu arquivo de configuração de build no Console do Google Cloud usando sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração do build.
    • Variáveis de substituição (opcional): se você selecionou o arquivo de configuração do Cloud Build como opção de configuração de build, escolha definir variáveis de substituição específicas do gatilho usando esse campo. Por exemplo, vamos supor que você esteja criando vários gatilhos em que cada um deles implanta seu app em um ambiente específico. É possível especificar que seu app seja implantado em um ambiente em seu arquivo de configuração da compilação e usar esse campo para definir variáveis de substituição especificando em qual ambiente esse gatilho deverá ser implantado. Para informações sobre como especificar valores de substituição em arquivos de configuração da compilação, consulte Como substituir valores de variável.

    • Registros da versão (opcional): marque a caixa para enviar registros da versão ao GitHub. Para saber como ver registros de build, consulte Como visualizar registros de build.

    • Conta de serviço: selecione a conta de serviço a ser usada ao invocar seu gatilho. Se você não selecionar uma conta de serviço, a conta de serviço padrão do Cloud Build será usada.

  6. Clique em Criar para salvar o gatilho de compilação.

Para criar acionadores do GitHub usando comandos gcloud, consulte os comandos gcloud para Como criar um gatilho de compilação.

gcloud

Para criar gatilhos do GitHub Enterprise usando comandos gcloud, execute o seguinte comando:

gcloud builds triggers create github \
  --name=TRIGGER_NAME \
  --repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
  --branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
  --build-config=BUILD_CONFIG_FILE \
  --region=REGION

Em que:

  • TRIGGER_NAME é o nome do gatilho.
  • PROJECT_ID é o ID do projeto no Google Cloud.
  • REGION é a região do acionador.
  • CONNECTION_NAME é o nome da sua conexão do GitHub Enterprise.
  • REPO_NAME é o nome do repositório.
  • BRANCH_PATTERN é o nome da ramificação no seu repositório para invocar o build.
  • TAG_PATTERN é o nome da tag no repositório para invocar o build.
  • BUILD_CONFIG_FILE é o caminho para seu arquivo de configuração da compilação.

Compartilhamento de dados

Os dados enviados do Cloud Build para o GitHub Enterprise ajudam a identificar gatilhos por nome e conferir os resultados do build no GitHub Enterprise.

Os dados a seguir são compartilhados entre o Cloud Build e o GitHub Enterprise:

  • Código do projeto do Cloud
  • Nome do gatilho
  • registros de compilações.

Se você criou gatilhos antes de agosto de 2020, talvez o compartilhamento de dados não esteja ativado para seu projeto. É possível ativar o compartilhamento de dados para todos os gatilhos do GitHub Enterprise em seu projeto clicando em Ativar na guia de compartilhamento de dados do Cloud Build.

Se as verificações de status necessárias estiverem ativadas para um repositório do GitHub Enterprise, a ativação do compartilhamento de dados poderá interromper temporariamente as verificações de status. Para ajustar as configurações de verificação de status para procurar seu nome de gatilho, é possível:

  • desativar qualquer verificação necessária específica do Cloud Build no repositório do GitHub Enterprise;
  • garantir que o compartilhamento de dados esteja ativado no Cloud Build;
  • executar uma nova compilação no Cloud Build que publica o status no seu repositório;
  • reativar verificações de status necessárias, selecionando o nome do gatilho.

Próximas etapas