Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cet article décrit Skaffold, comment et pourquoi Cloud Deploy l'utilise, et ce que vous devez faire pour l'utiliser.
Cloud Deploy utilise Skaffold pour les opérations de rendu et de déploiement. Vous pouvez également l'utiliser pour le développement local, la compilation, les tests et les fonctionnalités de déploiement avancées. Toutefois, Cloud Deploy n'a besoin que d'une configuration Skaffold qui identifie les fichiers manifestes à afficher et à appliquer.
Qu'est-ce que Skaffold ?
Skaffold est un outil de ligne de commande qui permet le développement continu pour les applications Kubernetes natives. Vous pouvez utiliser Skaffold pour configurer un espace de travail de développement local à utiliser avec les pipelines de livraison continue Cloud Deploy.
Skaffold inclut les fonctionnalités suivantes:
Il vous permet de contrôler de manière distincte les activités du pipeline CI/CD (compilation, rendu, test, déploiement, etc.).
Il est utile en tant qu'outil de développement local.
Les profils Skaffold vous permettent de différencier les différents environnements, avec différentes configurations de compilation, de test et de déploiement, le tout dans le même fichier de configuration.
Pourquoi Cloud Deploy utilise-t-il Skaffold ?
Google Cloud Deploy utilise Skaffold pour séparer les outils de rendu du pipeline de diffusion. Votre pipeline de diffusion définit simplement la progression d'une cible à l'autre, tandis que votre configuration Skaffold définit les fichiers manifestes à afficher et la manière dont ils doivent l'être. Cela rend le rendu du fichier manifeste flexible sans affecter la façon dont vous définissez votre pipeline de diffusion.
Voici quelques-uns des avantages de Skaffold lorsque vous l'utilisez avec Cloud Deploy:
Intégration facile
Commencez par une boucle de développement local. Vous pouvez partager votre fichier skaffold.yaml avec votre équipe, ce qui peut assurer la cohérence et aider les nouveaux membres à se lancer.
Contrôle cohérent du rendu sur différentes cibles de déploiement
Vous pouvez utiliser des profils Skaffold, avec un rendu et un déploiement différents pour différentes cibles.
Choix des outils de rendu sans compromettre la définition des pipelines de diffusion
L'utilisation de Skaffold permet à Cloud Deploy de séparer la définition du pipeline de livraison des détails de rendu. Cette séparation vous permet de tester vos fichiers manifestes sans perturber le pipeline de diffusion.
Processus de rendu cohérent
La source de rendu et vos conteneurs sont utilisés pour générer des fichiers manifestes de rendu.
Vérifications d'état du déploiement
Skaffold les exécute et Cloud Deploy les utilise.
Comment Cloud Deploy utilise-t-il Skaffold ?
La source de rendu et les références aux images de conteneur sont transmises à Cloud Deploy lorsque vous créez une version.
Dans le cadre de la création des versions, Cloud Deploy appelle Cloud Build, qui, à son tour, appelle skaffold diagnose et skaffold render pour afficher le ou les fichiers manifestes à l'aide de cette source de rendu et de ces images.
Vous pouvez utiliser des profils Skaffold pour différencier les fichiers manifestes qui seront appliqués à différentes cibles.
Lors du déploiement, Cloud Deploy appelle skaffold apply pour appliquer le ou les fichiers manifestes affichés au cluster cible.
Cloud Deploy n'est pas compatible avec l'utilisation d'autres outils de déploiement pour déployer votre application, sauf si vous utilisez des cibles personnalisées.
Toutefois, vous pouvez utiliser des outils tels que Helm ou Kustomize comme moteurs de rendu. Pour en savoir plus sur le déploiement de Cloud Deploy sans utiliser de déployeurs spécifiques (comme Helm), consultez la section Architecture de service.
Mettre Skaffold à contribution
Configurez Skaffold en fonction des besoins de votre pipeline.
Déterminez les besoins de votre pipeline de diffusion.
Combien de cibles allez-vous avoir ? L'affichage et le déploiement sont-ils les mêmes pour chacun ? Si la configuration est la même pour chaque cible de votre progression, vous n'avez pas besoin d'utiliser de profils Skaffold. Il vous suffit d'un fichier skaffold.yaml décrivant les fichiers manifestes à afficher.
Le cas échéant, créez un profil Skaffold pour chaque cible.
Définissez-le dans votre fichier skaffold.yaml et associez-le à la séquence de progression de la définition de votre pipeline de diffusion.
Connectez Cloud Deploy à votre système d'intégration continue.
À la fin de votre processus CI, transmettez le skaffold.yaml, la source de rendu et les images de conteneur à renseigner dans le fichier manifeste rendu.
Facultatif: configurez votre boucle de développement local à l'aide de Skaffold.
L'utilisation de Skaffold pour le développement est facultative dans Cloud Deploy. La seule chose requise pour que Cloud Deploy fonctionne est un fichier skaffold.yaml qui identifie les fichiers manifestes à afficher.
Étape suivante
Consultez le site Web de Skaffold pour découvrir son fonctionnement et ce qu'il peut vous apporter.
Découvrez comment Cloud Deploy sélectionne la version de Skaffold à utiliser, quand la version de Skaffold change et comment déterminer la version actuellement utilisée.
Découvrez comment utiliser des profils Skaffold avec des outils de gestion de fichiers manifestes avancés tels que Helm, Kustomize et kpt.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (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)."]]