Como criar repositórios do GitHub (original) (raw)

O Cloud Build permite criar gatilhos para criar em repositórios hospedados no GitHub. É possível executar builds em resposta a eventos, como pushes de confirmação ou solicitações de mesclagem associadas ao repositório do GitHub.

Esta página explica como ativar os gatilhos de build para uma instância do GitHub. Para mais informações, consulteGatilhos do Cloud Build eRepositórios do Cloud Build.

Antes de começar

Siga as instruções para se conectar a um host do GitHub.

Para criar um acionador para um repositório do GitHub, você precisa ter uma conexão entre o Google Cloud e o repositório. Para criar uma conexão pelo app GitHub em Google Cloud, consulteConectar a um repositório do GitHub.

Criar um gatilho do GitHub

Esta seção explica como criar um gatilho e vinculá-lo à instalação do GitHub.

Console do Google Cloud

Para criar gatilhos do GitHub usando o console Google Cloud , faça o seguinte:

  1. Abra a página Gatilhos no console do Google Cloud .
    Abrir a página Acionadores
  2. Selecione o projeto Google Cloud e clique em Abrir.
  3. Clique em Criar gatilho.
  4. 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 acionador especificar um pool particular, o Cloud Build vai usar o pool particular para executar o build. Nesse caso, a região especificada no acionador precisa corresponder à região em que você criou o pool particular.
      * Se o arquivo de configuração de build associado ao acionadornão especificar um pool particular, o Cloud Build vai usar o pool padrão para executar o build na mesma região do 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 pull: configure o acionador para iniciar um build em confirmações para uma solicitação de envio.
    • Origem: configure informações sobre seu repositório do GitHub:
      * Serviço de repositório: selecione o Cloud Build.
      * Geração de repositório: selecione Developer Connect como origem.
      * Repositório: na lista de repositórios disponíveis, selecione o repositório.
      * 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 enviocomo 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 é 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 executados somente depois que um proprietário ou colaborador comentar /gcbrun na solicitação de envio.
      * Obrigatório: 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. Os builds são executados sempre que uma mudança é feita em uma solicitação de envio.
      * Não obrigatório: quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds são executados automaticamente por gatilhos.
    • Configuração: selecione o arquivo de configuração do build localizado no seu repositório remoto ou crie um arquivo de configuração do build inline para usar no build.
      * Type: selecione o tipo de configuração a ser usado para o build.
      * Detecção automática: o Cloud Build detecta automaticamente o tipo de configuração se você tiver um 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 no seu repositório remoto, forneça o local doarquivo de configuração do build ou do diretórioDockerfile 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 oarquivo 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 o arquivo de configuração do build no consoleGoogle 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 visualizar os 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 a política da sua organização permitir o uso da conta de serviço legada do Cloud Build, deixe esse campo em branco para usar a conta de serviço legada. Caso contrário, selecione a conta de serviço específica a ser usada, mesmo que seja a conta de serviço padrão do Compute Engine.
  5. Clique em Criar para salvar o gatilho de compilação.

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

CLI da gcloud

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

    gcloud alpha builds triggers create developer connect
      --name=TRIGGER_NAME \
      --git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME \
      --branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
      --build-config=BUILD_CONFIG_FILE \
      --region=REGION \
      --service-account=SERVICE-ACCOUNT

Em que:

API

Para criar um gatilho do GitHub com a API, use o seguinte modelo JSON:

  {
      "filename": "cloudbuild.yaml",
      "name": "TRIGGER_NAME",
      "description": "TRIGGER_DESCRIPTION",
      "serviceAccount": "SERVICE_ACCOUNT",
      "github": {
          "owner": "OWNER",
          "name": "REPO_NAME",
          "push": {
              "branch": ".*"
          },
      
      },
      "include_build_logs": include-build-logs-value
  }

Em que:

Insira o seguinte comando curl no terminal:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json

Em que:

Criar e conferir as mudanças

Para criar usando gatilhos do GitHub, você precisará enviar e confirmar alterações para seu repositório de origem conectado ou configurar seu build em solicitações de envio. Depois de verificar as alterações, o Cloud Build criará o código.

Para ver as alterações no build no GitHub, acesse a guia Verificações no seu repositório.

Captura de tela da guia de conversa

Você verá que o Cloud Build criou as alterações. Você também verá outros detalhes da build, como o tempo que levou para criar o código, o código da build.

Para conferir as alterações do build no Cloud Build, clique emVer mais detalhes no Google Cloud Build. A página Detalhes do build no Google Cloud console é aberta e mostra informações do build, como status, registros e etapas de build.

Compartilhamento de dados

Os dados enviados ao GitHub pelo Cloud Build ajudam a identificar gatilhos por nome e conferir os resultados da versão no GitHub.

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

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 no 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, 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:

A seguir