Use o Cloud Build para automatizar builds e implantações no Cloud Run usando o gatilho do Cloud Build para criar e implantar automaticamente seu código sempre que novos commits forem enviados para uma determinada ramificação de um repositório Git. Por exemplo, consulte o guia de início rápido sobre como criar um repositório de modelos e realizar a implantação contínua por meio do Git.
Quando você usa um gatilho do Cloud Build para criar contêineres, as informações do repositório de origem são exibidas no console do Google Cloud para o serviço após a implantação no Cloud Run.
Também é possível usar o Cloud Deploy para configurar um pipeline de entrega contínua que implanta serviços do Cloud Run em vários ambientes.
Antes de começar
- Você tem um repositório Git com um
Dockerfile
ou sua base de código é escrita em uma das linguagens aceitas pelos buildpacks do Google Cloud. -
Enable the Cloud Build API.
Funções exigidas
Para receber as permissões necessárias para implantar os serviços do Cloud Run a partir do Git usando o Cloud Build, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:
-
Administrador do Artifact Registry (
roles/artifactregistry.admin
) -
Editor do Cloud Build (
roles/cloudbuild.builds.editor
) -
Desenvolvedor do Cloud Run (
roles/run.developer
) -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) -
Administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin
)
A conta de serviço que executa o build precisa ter os seguintes papéis:
- Conta de serviço do Cloud Build (
roles/cloudbuild.builds.builder
) - Administrador do Cloud Run (
roles/run.admin
) - Usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o serviço do Cloud Run interage com as APIs do Google Cloud, como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Configurar a implantação contínua na interface do usuário do Cloud Run
O procedimento varia um pouco quando você está configurando a implantação contínua em um novo serviço ou em um atual. Clique na guia apropriada para saber mais.
Novo serviço
Crie um novo serviço, conforme descrito em Implantar um novo serviço, garantindo que você selecione Implantar continuamente novas revisões a partir de um repositório de origem na página Configurações do serviço.
Na página Configurações do serviço, clique em Configurar com o Cloud Build.
O GitHub é o provedor de repositório padrão. Se você ainda tiver feito sua autenticação, clique em Autenticar e siga as instruções. Para conectar um repositório, use o aplicativo GitHub do Cloud Build.
Clique em Próxima.
Preencha as opções na etapa "Configuração do build":
- Ramificação: indica qual código-fonte precisa ser usado ao executar o gatilho. É possível colocar o regex aqui. As ramificações correspondidas são verificadas automaticamente e podem ser vistas abaixo da entrada. Se houver correspondência exata de uma ramificação, o gatilho será executado automaticamente após a criação.
Tipo de build
Se o repositório precisar ser criado com o Docker e ele contiver um Dockerfile, selecione Dockerfile. Local de origem: indica o local e o nome do Dockerfile. O diretório será usado como o contexto de build do Docker. Todos os caminhos precisam estar relacionados ao diretório atual.
Caso contrário, selecione Google Cloud Buildpacks. Use o contexto de Buildpack para especificar o diretório e o Ponto de entrada (opcional) para fornecer o comando que inicia o servidor. Por exemplo:
gunicorn -p :8080 main:app
para Python,java -jar target/myjar.jar
para Java. Deixe em branco para usar o comportamento padrão.
Clique em Salvar.
Verifique as configurações selecionadas.
Clique em Criar.
Você será redirecionado para a página Detalhes do serviço, em que poderá acompanhar o progresso da configuração da implantação contínua.
Quando todas as etapas forem concluídas, observe as opções adicionais:
- Edite a implantação contínua.
- Histórico de builds.
- Detalhes do código-fonte na seção Detalhes da revisão.
Serviço atual
Na lista, localize e clique no serviço.
Clique em Configurar implantação contínua.
O GitHub é o provedor de repositório padrão. Se você ainda tiver feito sua autenticação, clique em Autenticar e siga as instruções. Para conectar um repositório, use o aplicativo GitHub do Cloud Build.
Clique em Próxima.
Preencha as opções na etapa "Configuração do build":
- Ramificação: indica qual código-fonte precisa ser usado ao executar o gatilho. É possível colocar o regex aqui. As ramificações correspondidas são verificadas automaticamente e podem ser vistas abaixo da entrada. Se houver correspondência exata de uma ramificação, o gatilho será executado automaticamente após a criação.
Tipo de build
Se o repositório precisar ser criado com o Docker e ele contiver um Dockerfile, selecione Dockerfile. Local de origem: indica o local e o nome do Dockerfile. O diretório será usado como o contexto de build do Docker. Todos os caminhos precisam estar relacionados ao diretório atual.
Caso contrário, selecione Google Cloud Buildpacks. Use o contexto de Buildpack para especificar o diretório e o Ponto de entrada (opcional) para fornecer o comando que inicia o servidor. Por exemplo:
gunicorn -p :8080 main:app
para Python,java -jar target/myjar.jar
para Java. Deixe em branco para usar o comportamento padrão.
Clique em Salvar.
A página é recarregada e exibe o progresso da configuração da implantação contínua.
Quando todas as etapas forem concluídas, observe as opções adicionais:
- Edite a implantação contínua.
- Histórico de builds.
- Detalhes da origem na seção Detalhes da revisão.
Configurar a implantação contínua de modo manual
Confira Como configurar a implantação contínua manualmente se você precisar usar um procedimento manual, e não a interface.
Anexe o gatilho existente do Cloud Build ao serviço do Cloud Run.
Se você já tiver um gatilho do Cloud Build, poderá anexá-lo ao serviço e aproveitar os recursos do console do Google Cloud na página "Detalhes do serviço" (botão Editar implantação contínua e gráfico Histórico de builds).
Para fazer isso, adicione um rótulo com gcb-trigger-id como chave e o identificador exclusivo do gatilho do Cloud Build como valor, não o nome do acionador. Consulte Definir ou modificar rótulos para configurar o rótulo.