Esta página descreve como criar o pipeline de implementação e os destinos que descrevem onde e como o Cloud Deploy implementa a sua aplicação. Consulte o esquema do ficheiro de configuração para ver uma descrição da estrutura do ficheiro YAML para pipelines de entrega e destinos.
Acerca do pipeline de entrega e dos alvos
O pipeline de fornecimento descreve uma progressão de alvos de implementação. Pode definir esses destinos no mesmo ficheiro que o pipeline de entrega ou num ou mais ficheiros separados.
Depois de criar a estrutura de distribuição e o ficheiro ou os ficheiros de definição de segmentação, execute gcloud deploy apply
em cada um desses ficheiros para os registar como recursos do Cloud Deploy.
Defina o pipeline de publicação e os alvos
A estrutura dos ficheiros de configuração de destino e da pipeline de entrega é descrita aqui.
Pode atribuir o nome que quiser a este ficheiro. Por convenção, uma configuração de pipeline de entrega que inclui definições de destino é denominada clouddeploy.yaml
e uma que, em vez disso, faz referência a destinos definidos num ou mais ficheiros separados é denominada delivery-pipeline.yaml
.
O destino pode apontar para o GKE, GKE Enterprise ou Cloud Run. Num pipeline de entrega, todos os alvos têm de fazer referência ao mesmo tipo de tempo de execução (por exemplo, todos GKE ou todos GKE Enterprise).
Crie um pipeline de entrega e segmentações através da Google Cloud consola
Pode usar a Google Cloud consola para criar um novo pipeline de entrega e segmentos ou segmentações. Isto é útil para experimentar o Cloud Deploy, mas não é adequado para cargas de trabalho de produção. (Também pode usar a Google Cloud consola para criar um lançamento.)
Para criar o pipeline de entrega:
Na página Pipelines de fornecimento, clique em Criar.
Indique um nome (ou mantenha o predefinido) e, opcionalmente, uma descrição.
Selecione a sua região.
Escolha o ambiente de tempo de execução.
Para o GKE, escolha Google Kubernetes Engine ou selecione Cloud Run se for esse o tempo de execução para o qual está a fazer a implementação.
Em Novo alvo, indique um nome (ou mantenha o predefinido).
Se quiser exigir a aprovação neste destino, selecione a caixa de verificação Exigir aprovação para implementações.
Se for usar uma estratégia de implementação canary neste alvo, selecione a caixa de verificação Ativar canary.
Clique em Concluído.
Clique em Adicionar alvo e siga estes passos para cada alvo adicional que pretende criar.
Quando tiver todas as segmentações, clique em Criar para criar o pipeline de entrega e os recursos de segmentação.
Registe o pipeline de entrega e as segmentações
Se criou o pipeline e os alvos através da Google Cloud consola, não precisa de o fazer.
Para registar o pipeline de fornecimento no Cloud Deploy, execute o comando
gcloud deploy apply
uma vez para cada ficheiro de definição separado. Ou seja, se definir três alvos em três ficheiros, executaria o comando quatro vezes: uma vez para o pipeline de fornecimento e uma vez para cada alvo.
O comando seguinte regista um pipeline de entrega com os respetivos alvos definidos no mesmo ficheiro.
gcloud deploy apply --file=PIPELINE_CONFIG \
--region=LOCATION \
--project=PROJECT
Agora, tem um pipeline de entrega que pode gerir a implementação das suas versões e segmentar recursos que podem ser usados por qualquer pipeline de entrega no mesmo projeto e região.
Um exemplo de ficheiro único
O comando neste exemplo regista um pipeline de entrega e destinos que estão todos definidos no mesmo ficheiro:
gcloud deploy apply --file=clouddeploy.yaml --region=us-central1
Um exemplo com ficheiros separados
Para este exemplo, existem três alvos definidos em três ficheiros separados, pelo que executa quatro comandos:
gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1
A flag --region
é obrigatória, a menos que tenha definido uma predefinição (com gcloud
config set deploy/region [REGION]
). A região tem de ser a mesma para o pipeline de entrega e todos os alvos a que o pipeline faz referência.
Crie o pipeline de entrega e as segmentações com o Terraform
Também pode usar o fornecedor Terraform do Google Cloud para criar recursos de pipeline de entrega e destino.
O Google Cloud fornecedor Terraform beta pode incluir suporte para funcionalidades do Cloud Deploy na pré-visualização.
Edite segmentações e pipelines existentes
Posteriormente, pode editar qualquer pipeline de fornecimento ou configuração de destino e executar gcloud
deploy apply
para atualizar o pipeline ou o recurso de destino. No entanto, essas alterações
não afetam os lançamentos existentes, uma vez que são geridos pelo
pipeline de entrega original.
Exija aprovação manual para uma implementação
Para exigir a aprovação manual de um determinado alvo, inclua a seguinte propriedade na definição do alvo:
requireApproval: true
A predefinição é false
. Se omitir esta propriedade da configuração
do pipeline de entrega ou não indicar um valor para a mesma, a implementação neste destino não requer
aprovação. (No entanto, o autor da chamada que tenta promover o destino continua a precisar da autorização de IAM.)clouddeploy.rollouts.create
Pode até exigir a aprovação manual no primeiro alvo. Quando cria um lançamento através da CLI para o primeiro destino, o rollout
é criado automaticamente. Se for necessária aprovação, o Cloud Deploy cria o
rollout
, mas num estado de lançamento pendente até ser dada a aprovação.
O que se segue?
Consulte o artigo Implementar a sua aplicação para saber como invocar o pipeline de fornecimento e criar um lançamento.