Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Neste artigo, descrevemos o Skaffold, como e por que o
Cloud Deploy o usa e o que você precisa fazer para que ele funcione para
você.
O Cloud Deploy usa o Skaffold para operações de renderização e implantação. Também é possível usá-la para desenvolvimento local, criação, teste e para recursos avançados de implantação. No entanto,
o Cloud Deploy requer apenas uma configuração do Skaffold que identifique os
manifestos a serem renderizados e aplicados.
O que é o Skaffold?
O Skaffold é uma ferramenta de linha de comando que permite o desenvolvimento contínuo de
aplicativos nativos do Kubernetes. É possível 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 os seguintes recursos:
Ele oferece um controle discreto de atividades do pipeline de CI/CD (criação, renderização, implantação de teste e assim por diante).
Ele é útil como ferramenta de desenvolvimento local.
Os perfis do Skaffold permitem diferenciar entre diferentes ambientes, com diferentes configurações de compilação, teste e implantação, tudo no mesmo arquivo de configuração.
Por que o Cloud Deploy usa o Skaffold?
O Google Cloud Deploy usa o Skaffold para separar as ferramentas de renderização do pipeline de entrega. O pipeline de entrega simplesmente define a progressão do destino para
o destino, enquanto a configuração do Skaffold define quais manifestos são renderizados
e como. Isso torna a renderização de manifesto flexível sem afetar a maneira como você define o pipeline de entrega.
Confira algumas das vantagens do Skaffold ao usá-lo com o
Cloud Deploy:
Integração fácil
Comece com um loop de desenvolvimento local. Você pode compartilhar o arquivo skaffold.yaml
com sua equipe, o que pode ajudar a manter a consistência e ajudar os novos membros da equipe a
começar.
Controle consistente sobre a renderização em diversos destinos de implantação
Você pode usar perfis do Skaffold com renderização e implantação diferentes para destinos distintos.
Escolha das ferramentas de renderização sem comprometer a definição dos pipelines de
entrega
O uso do Skaffold permite que o Cloud Deploy separe a definição do pipeline de entrega
dos detalhes da renderização. Essa separação permite testar seus manifestos sem interromper o pipeline de entrega.
Processo de renderização coerente
A origem da renderização e os contêineres são usados para gerar manifestos renderizados.
Verificações de integridade da implantação
O Skaffold as executa e o Cloud Deploy as usa.
Como o Cloud Deploy usa o Skaffold?
A origem da renderização e as referências às imagens do contêiner são transmitidas para o
Cloud Deploy quando você 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 diagnose e
skaffold render
para renderizar o manifesto ou manifestos usando essa fonte de renderização e essas
imagens.
Use perfis do Skaffold
para diferenciar manifestos que serão aplicados a diferentes destinos.
Durante a implantação, o Cloud Deploy chama
skaffold apply
para aplicar o manifesto renderizado ou os manifestos ao cluster de destino.
O Cloud Deploy não oferece suporte ao uso de outros implantadores para implantar
seu aplicativo, a menos que você use destinos personalizados.
No entanto, é possível usar ferramentas como o Helm ou o
Kustomize como renderizadores. Para saber mais sobre como o Cloud Deploy implanta sem usar implantadores específicos (como o Helm), consulte Arquitetura de serviço.
Faça o Skaffold trabalhar para você
Configure o Skaffold de acordo com as necessidades de pipeline.
Determine as necessidades do pipeline de entrega.
Quantas metas você terá? A renderização e a implantação são iguais em cada uma delas. Se a configuração for a mesma para cada destino na sua progressão, não será necessário usar perfis do Skaffold. Você só precisa de um arquivo skaffold.yaml
que descreva os manifestos para renderizar.
Crie um perfil do Skaffold para cada destino, se aplicável
Defina isso no arquivo skaffold.yaml e vincule-o à sequência de progressão de definição
do pipeline de entrega.
Conecte o Cloud Deploy ao sistema de integração contínua.
No final do processo de CI, transmita o
skaffold.yaml, a origem de renderização e as imagens do contêiner a serem preenchidas
no manifesto renderizado.
Opcional: configure o loop de desenvolvimento local usando o Skaffold.
O uso do Skaffold para desenvolvimento é
opcional no Cloud Deploy. Tudo o que é necessário para
o Cloud Deploy funcionar é um arquivo skaffold.yaml que
identifique manifestos para renderizar.
A seguir
Acesse o site da Skaffold para saber como ele funciona
e o que ele pode fazer por você.
Saiba como o Cloud Deploy
seleciona a versão do Skaffold a ser usada, quando a versão do Skaffold muda e como
determinar qual versão está em uso atualmente.
Saiba como usar os perfis do Skaffold
em conjunto com ferramentas avançadas de gerenciamento de manifestos, como Helm, Kustomize e kpt.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-17 UTC."],[[["\u003cp\u003eCloud Deploy utilizes Skaffold for rendering and deploying operations, though it only requires a Skaffold configuration file that specifies the manifests to render and apply.\u003c/p\u003e\n"],["\u003cp\u003eSkaffold is a command-line tool enabling continuous development for Kubernetes applications, offering features like pipeline activity control, local development support, and environment differentiation through profiles.\u003c/p\u003e\n"],["\u003cp\u003eCloud Deploy's use of Skaffold allows for the separation of rendering tools from the delivery pipeline, making manifest rendering more flexible without impacting the delivery pipeline definition.\u003c/p\u003e\n"],["\u003cp\u003eSkaffold profiles allow for diverse rendering and deployment across different targets, and when integrating with Cloud Deploy it allows you to choose different rendering tools without compromising how the delivery pipelines are defined.\u003c/p\u003e\n"],["\u003cp\u003eTo use Skaffold with Cloud Deploy, you must configure a \u003ccode\u003eskaffold.yaml\u003c/code\u003e file based on your pipeline needs, and optionally create target-specific profiles and connect it to your continuous-integration system, but its use in local development is optional.\u003c/p\u003e\n"]]],[],null,["# Use Skaffold with Cloud Deploy\n\nThis article describes [Skaffold](/skaffold), how and why\nCloud Deploy uses it, and what you need to do to make it work for\nyou.\n\nCloud Deploy uses Skaffold for render and deploy operations. You can also\nuse it for local development, build, test, and for [advanced deployment\nfeatures](https://skaffold.dev/docs/pipeline-stages/). However,\nCloud Deploy *requires* only a Skaffold\n[configuration](https://skaffold.dev/docs/references/yaml) that identifies the\nmanifests to render and apply.\n| **Note:** You don't need to install Skaffold. It's included as part of Cloud Deploy.\n\nWhat is Skaffold?\n-----------------\n\nSkaffold is a command-line tool that enables continuous development for\nKubernetes-native applications. You can use Skaffold to configure a local\ndevelopment workspace to use with Cloud Deploy continuous delivery\npipelines.\n\nSkaffold includes the following features:\n\n- It gives you discrete control of CI/CD pipeline activities (build, render,\n test deploy, and so on).\n\n- It's useful as a local development tool.\n\n- Skaffold profiles let you differentiate among different environments, with\n different build, test, and deploy configurations, all in the same configuration\n file.\n\nWhy does Cloud Deploy use Skaffold?\n-----------------------------------\n\nGoogle Cloud Deploy uses Skaffold to separate rendering tools from the delivery\npipeline. Your delivery pipeline simply defines the progression from target to\ntarget, while your Skaffold configuration defines which manifests are rendered\nand how. This makes manifest rendering flexible without affecting how you define\nyour delivery pipeline.\n\nHere are some of the advantages that Skaffold provides when you use it with\nCloud Deploy:\n\n- **Easy onboarding**\n\n Start with a local development loop. You can share your `skaffold.yaml` file\n with your team, which can enable consistency and help new team members get\n started.\n- **Consistent control** over rendering across diverse deployment targets\n\n You can use Skaffold profiles, with different rendering and deployment for\n different targets.\n- **Choice of rendering tools** without compromising how delivery pipelines are\n defined\n\n Using Skaffold allows Cloud Deploy to separate delivery pipeline\n definition from render details. This separation lets you experiment\n with your manifests without disrupting the delivery pipeline.\n- **Coherent rendering process**\n\n The rendering source plus your containers are use to generate rendered\n manifests.\n- **Deployment health checks**\n\n Skaffold performs them, and Cloud Deploy uses them.\n\nHow does Cloud Deploy use Skaffold?\n-----------------------------------\n\n- The rendering source and references to container images are passed to\n Cloud Deploy when you [create a release](/deploy/docs/integrating-ci#calling_from_your_ci_pipeline).\n\n As part of release creation, Cloud Deploy calls\n Cloud Build, which, in turn, invokes [`skaffold diagnose`](https://skaffold.dev/docs/references/cli/#skaffold-diagnose) and\n [`skaffold render`](https://skaffold.dev/docs/workflows/ci-cd/#separation-of-rendering-and-deployment)\n to render the manifest or manifests using that rendering source and those\n images.\n- You can use [Skaffold profiles](https://skaffold.dev/docs/environment/profiles/)\n to differentiate manifests that will be applied to different targets.\n\n- Cloud Deploy [supports *static* Skaffold modules](https://skaffold.dev/docs/design/config/#local-config-dependency).\n\n- When deploying, Cloud Deploy calls\n [`skaffold apply`](https://skaffold.dev/docs/workflows/ci-cd/#example-hydrate-manifests-then-deployapply-to-cluster)\n to apply the rendered manifest or manifests to the target cluster.\n\n- Cloud Deploy doesn't support the use of other deployers to deploy\n your application, unless you use [custom targets](/deploy/docs/custom-targets).\n However, you can use tools like [Helm](https://helm.sh/) or\n [Kustomize](https://kustomize.io/) as renderers. To learn more about how\n Cloud Deploy deploys without using specific deployers (like Helm),\n see [Service architecture](/deploy/docs/architecture#how_they_fit_together_to_deliver_your_release).\n\nMake Skaffold work for you\n--------------------------\n\n1. Configure Skaffold according to your pipeline needs.\n\n 1. Determine the needs of your delivery pipeline.\n\n How many targets will you have? Are rendering and deployment the same for\n each. If configuration is the same for each target in your progression,\n you won't need to use Skaffold profiles. You only need a `skaffold.yaml`\n file that describes the manifests to render.\n 2. If applicable, create a Skaffold profile for each target\n\n Define this in your `skaffold.yaml` file and bind in your delivery pipeline\n definition progression sequence.\n\n See the [Skaffold documentation](https://skaffold.dev/docs/environment/profiles/)\n for more information about Skaffold profiles. Also, the document\n [Managing manifests in Cloud Deploy](/deploy/docs/using-skaffold/managing-manifests)\n includes example profile configurations.\n 3. Set the Skaffold logging verbosity level\n\n By default, the\n [Skaffold logging level](https://skaffold.dev/docs/references/cli/#global-flags)\n is set to `warn`. You can change that to `debug` in the configuration for\n a target's\n [execution environment](/deploy/docs/config-files#executionconfigs)\n by setting `verbose: true`.\n2. Connect Cloud Deploy to your continuous-integration system.\n\n [At the end of your CI](/deploy/docs/integrating-ci) process, pass the\n `skaffold.yaml`, the rendering source, and the container images to be populated\n into the rendered manifest.\n3. **Optional**: set up your local development loop, using Skaffold.\n\n [Using Skaffold for development](https://skaffold.dev/docs/workflows/dev/) is\n optional in Cloud Deploy. The only thing that's required in order\n for Cloud Deploy to operate is a `skaffold.yaml` file that\n identifies manifests to render.\n\nWhat's next\n-----------\n\n- Visit the [Skaffold site](https://skaffold.dev) to find out about how it works\n and what it can do for you.\n\n- [Learn how](/deploy/docs/using-skaffold/select-skaffold) Cloud Deploy\n selects the Skaffold version to use, when the Skaffold version changes, and how\n to determine which version is currently in use.\n\n- [Learn how](/deploy/docs/using-skaffold/managing-manifests) to use Skaffold\n profiles in conjunction with advanced manifest-management tools like Helm,\n Kustomize, and kpt.\n\n- Try out the [Skaffold profiles walkthrough](https://shell.cloud.google.com/?show=ide%2Cterminal&walkthrough_id=deploy--cloud-deploy-profiles-gke)."]]