Este artigo descreve o Skaffold, como e por que motivo o Cloud Deploy o usa, e o que tem de fazer para que funcione para si.
O Cloud Deploy usa o Skaffold para operações de renderização e implementação. Também pode usá-lo para desenvolvimento, compilação, testes locais e para funcionalidades de implementação avançadas. No entanto, o Cloud Deploy requer apenas uma configuração do Skaffold que identifique os manifestos a renderizar e aplicar.
O que é o Skaffold?
O Skaffold é uma ferramenta de linha de comandos que permite o desenvolvimento contínuo de aplicações nativas do Kubernetes. Pode usar o Skaffold para configurar um espaço de trabalho de desenvolvimento local para usar com pipelines de entrega contínua do Cloud Deploy.
O Skaffold inclui as seguintes funcionalidades:
- Dá-lhe controlo discreto das atividades do pipeline de CI/CD (criar, renderizar, implementar testes, etc.). 
- É útil como ferramenta de desenvolvimento local. 
- Os perfis do Skaffold permitem-lhe diferenciar entre diferentes ambientes, com diferentes configurações de compilação, teste e implementação, tudo no mesmo ficheiro de configuração. 
Por que motivo o Cloud Deploy usa o Skaffold?
O Google Cloud Deploy usa o Skaffold para separar as ferramentas de renderização do pipeline de fornecimento. O pipeline de implementação define simplesmente a progressão de destino para destino, enquanto a configuração do Skaffold define que manifestos são renderizados e como. Isto torna a renderização de manifestos flexível sem afetar a forma como define o seu pipeline de fornecimento.
Seguem-se algumas das vantagens que o Skaffold oferece quando o usa com o Cloud Deploy:
- Integração fácil - Comece com um ciclo de desenvolvimento local. Pode partilhar o seu ficheiro - skaffold.yamlcom a sua equipa, o que pode permitir a consistência e ajudar os novos membros da equipa a começar.
- Controlo consistente da renderização em diversos alvos de implementação - Pode usar perfis do Skaffold, com renderização e implementação diferentes para alvos diferentes. 
- Escolha de ferramentas de renderização sem comprometer a forma como os pipelines de fornecimento são definidos - A utilização do Skaffold permite que o Cloud Deploy separe a definição do pipeline de implementação dos detalhes de composição. Esta separação permite-lhe experimentar os seus manifestos sem interromper o pipeline de fornecimento. 
- Processo de renderização coerente - A origem de renderização e os seus contentores são usados para gerar manifestos renderizados. 
- Verificações de funcionamento da implementação - O Skaffold executa-as e o Cloud Deploy usa-as. 
Como é que o Cloud Deploy usa o Skaffold?
- A origem da renderização e as referências a imagens de contentores são transmitidas para o Cloud Deploy quando cria uma versão. - Como parte da criação da versão, o Cloud Deploy chama o Cloud Build, que, por sua vez, invoca - skaffold diagnosee- skaffold renderpara renderizar o manifesto ou os manifestos usando essa origem de renderização e essas imagens.
- Pode usar perfis do Skaffold para diferenciar manifestos que vão ser aplicados a diferentes destinos. 
- O Cloud Deploy suporta módulos estáticos do Skaffold. 
- Durante a implementação, o Cloud Deploy chama - skaffold applypara aplicar o manifesto ou os manifestos renderizados ao cluster de destino.
- O Cloud Deploy não suporta a utilização de outros implementadores para implementar a sua aplicação, a menos que use alvos personalizados. No entanto, pode usar ferramentas como o Helm ou o Kustomize como renderizadores. Para saber como o Cloud Deploy faz a implementação sem usar implementadores específicos (como o Helm), consulte a Arquitetura de serviços. 
Faça com que o Skaffold funcione para si
- Configure o Skaffold de acordo com as necessidades do seu pipeline. - Determine as necessidades do seu pipeline de fornecimento. - Quantos alvos vai ter? A renderização e a implementação são iguais para cada um. Se a configuração for a mesma para cada destino na progressão, não precisa de usar perfis do Skaffold. Só precisa de um - skaffold.yamlficheiro que descreva os manifestos a renderizar.
- Se aplicável, crie um perfil do Skaffold para cada destino - Defina isto no seu ficheiro - skaffold.yamle associe-o na sequência de progressão da definição da pipeline de fornecimento.- Consulte a documentação do Skaffold para mais informações sobre os perfis do Skaffold. Além disso, o documento Gerir manifestos no Cloud Deploy inclui exemplos de configurações de perfis. 
- Defina o nível de verbosidade do registo do Skaffold - Por predefinição, o nível de registo do Skaffold está definido como - warn. Pode alterar esta opção para- debugna configuração do ambiente de execução de um alvo definindo- verbose: true.
 
- Associe o Cloud Deploy ao seu sistema de integração contínua. - No final do processo de CI, transmita o - skaffold.yaml, a origem da renderização e as imagens do contentor a serem preenchidas no manifesto renderizado.
- Opcional: configure o seu ciclo de desenvolvimento local com o Skaffold. - A utilização do Skaffold para desenvolvimento é opcional no Cloud Deploy. A única coisa necessária para o Cloud Deploy funcionar é um ficheiro - skaffold.yamlque identifique os manifestos a renderizar.
O que se segue?
- Visite o site do Skaffold para saber como funciona e o que pode fazer por si. 
- Saiba como o Cloud Deploy seleciona a versão do Skaffold a usar, quando a versão do Skaffold muda e como determinar que versão está atualmente em uso. 
- Saiba como usar perfis do Skaffold em conjunto com ferramentas avançadas de gestão de manifestos, como Helm, Kustomize e kpt. 
- Experimente o tutorial de perfis do Skaffold.