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

  • Ative as APIs Cloud Build and Secret Manager.

    Ative as 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 os acionadores do GitHub Enterprise em uma rede privada, consulte Como criar repositórios do GitHub Enterprise em uma rede privada para ver mais instruções.

Console

Para criar gatilhos 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 gatilho.

      • Se o arquivo de configuração da versão associado ao acionador especificar um pool particular, o Cloud Build usa esse pool para executar a versão. 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 da versão associado ao acionador não especificar um pool particular, o Cloud Build usará o pool padrão para executar a versão na mesma região que o acionador.
    • 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: configure o gatilho para iniciar uma compilação após confirmações em 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 for criada ou atualizada por um proprietário do repositório ou colaborador com /gcbrun na descrição ou no comentário da solicitação de envio, as versões serão executadas automaticamente pelo gatilho. Quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, as versões só são executadas 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.

      • Tipo: selecione o tipo de configuração a ser usado para seu build.
        • Detecção automática: o Cloud Build detecta automaticamente o tipo de configuração se você tiver um cloudbuild.yaml ou Dockerfile no seu 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 no repositório remoto, informe o local do arquivo de configuração da versão ou o diretório 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 do build inline. Clique em Abrir Editor para gravar seu arquivo de configuração do build no Console do Google Cloud usando a 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 do build, consulte Como ver registros do 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 build.

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 gatilho.
  • CONNECTION_NAME é o nome da 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 ao GitHub Enterprise pelo Cloud Build ajudam a identificar gatilhos por nome e ver os resultados da versão no GitHub Enterprise.

Os dados a seguir são compartilhados atualmente 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 no seu projeto clicando em Ativar na guia de compartilhamento de dados do Cloud Build.

Se você tiver ativado as verificações de status necessárias para um repositório do GitHub Enterprise, ativar o 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:

  • Como desativar todas as verificações obrigatórias específicas 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