Este documento descreve como executar programas ou operações arbitrárias antes ou depois da implementação.
Pode configurar o Cloud Deploy e o Skaffold para executar ações para realizar ações de pré-implementação ou ações de pós-implementação, ou ambas. Estes programas, executados desta forma, são denominados "hooks". Os hooks de pré-implementação e pós-implementação são executados como tarefas de pré-implementação e pós-implementação na implementação.
Pode configurar cada gancho para ser executado num ambiente de execução do Cloud Deploy especificado, mas se estiver a implementar no Google Kubernetes Engine, pode configurá-lo opcionalmente para ser executado no cluster do GKE onde está a implementar a sua aplicação.
Os hooks de implementação são considerados idempotentes. Se uma determinada ação for executada mais do que uma vez, não tem qualquer efeito adicional.
Como funcionam os hooks de implementação?
Seguem-se os passos para configurar os hooks de implementação e o processo do Skaffold e do Cloud Deploy para executar esses hooks:
Configura o
skaffold.yamlusado para uma determinada versão de forma a incluircustomActionsque identificam a imagem ou as imagens do contentor a usar para executar os comandos, e o comando ou o script específico a executar em cada contentor.Configura os hooks numa ou mais fases da progressão do pipeline de entrega, cada uma das quais faz referência a um dos
customActionsque configurou emskaffold.yaml.Antes de o trabalho de implementação da implementação ser executado, o Skaffold executa todos os comandos configurados em
skaffold.yamlque são referenciados numa secçãopredeployna progressão do pipeline.O comando
predeployé sempre executado como a primeira tarefa na fase.Após a execução da tarefa de implementação da implementação, o Cloud Deploy executa quaisquer comandos configurados em
skaffold.yamlque sejam referenciados numa secçãopostdeployna progressão do pipeline.
Os hooks de implementação são executados no ambiente de execução do Cloud Deploy predefinido ou num ambiente de execução alternativo especificado. Para implementações no GKE, pode, opcionalmente, executar os hooks no mesmo cluster onde a aplicação está a ser implementada.
Usar hooks de implementação com uma implementação canary
Quando configura hooks de implementação para uma implementação canary, existem vários aspetos a ter em conta:
Na fase do pipeline de entrega, a configuração do gancho (
predeployepostdeploy) encontra-se emstrategy.canary.canaryDeploymentoustrategy.canary.customCanaryDeployment.phaseConfigs, em vez de emstrategy.standard.Para um teste canary automatizado, os comandos
predeploysão executados antes da implementação apenas na primeira fase, e os comandospostdeploysão executados após a implementação apenas na última fase (estável).
Configure ações no Skaffold
No ficheiro skaffold.yaml, a secção customActions usa uma ou mais
secções customActions, configuradas
da seguinte forma:
customActions:
- name: