Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In diesem Artikel wird Skaffold beschrieben, wie und warum Cloud Deploy es verwendet und was Sie tun müssen, damit dies für Sie funktioniert.
Cloud Deploy verwendet Skaffold für Rendering- und Bereitstellungsvorgänge. Sie können sie auch für die lokale Entwicklung, die Erstellung, das Testen und die erweiterten Bereitstellungsfunktionen verwenden. Cloud Deploy erfordert jedoch nur eine Skaffold-Konfiguration, die die zu rendernden und anzuwendenden Manifeste identifiziert.
Was ist Skaffold?
Skaffold ist ein Befehlszeilentool, das die kontinuierliche Entwicklung für Kubernetes-native Anwendungen ermöglicht. Sie können Skaffold verwenden, um einen lokalen Entwicklungsarbeitsbereich für die Verwendung von Cloud Deploy-Pipelines zur kontinuierlichen Bereitstellung zu konfigurieren.
Skaffold bietet die folgenden Features:
Sie erhalten eine einzelne Kontrolle über CI/CD-Pipelineaktivitäten (Builds, Rendering, Testbereitstellung usw.).
Es ist als lokales Entwicklungstool nützlich.
Skaffold-Profile ermöglichen die Unterscheidung zwischen verschiedenen Umgebungen mit unterschiedlichen Build-, Test- und Bereitstellungskonfigurationen, die alle in derselben Konfigurationsdatei enthalten sind.
Warum verwendet Cloud Deploy Skaffold?
Google Cloud Deploy verwendet Skaffold, um Renderingtools von der Bereitstellungspipeline zu trennen. Ihre Bereitstellungspipeline definiert einfach den Fortschritt vom Ziel zum Ziel, während die Skaffold-Konfiguration definiert, welche Manifeste wie gerendert werden. Dadurch wird das Manifest-Rendering flexibel, ohne dass sich dies auf die Definition Ihrer Bereitstellungspipeline auswirkt.
Hier sind einige der Vorteile, die Skaffold bei der Verwendung mit Cloud Deploy bietet:
Einfache Einrichtung
Beginnen Sie mit einer lokalen Entwicklungsschleife. Sie können Ihre skaffold.yaml-Datei für Ihr Team freigeben, wodurch neue Konsistenz ermöglicht wird und neue Teammitglieder den Einstieg erleichtern.
Konsistente Kontrolle über das Rendering über verschiedene Deployment-Ziele hinweg
Sie können Skaffold-Profile mit unterschiedlichem Rendering und unterschiedlicher Bereitstellung für verschiedene Ziele verwenden.
Auswahl von Renderingtools ohne die Definition von Bereitstellungspipelines zu beeinträchtigen
Mit Skaffold kann Cloud Deploy die Definition der Bereitstellungspipeline von den Renderingdetails trennen. Durch diese Trennung können Sie mit Ihren Manifesten experimentieren, ohne die Bereitstellungspipeline zu unterbrechen.
Einheitlicher Rendering-Prozess
Die Renderingquelle sowie Ihre Container werden verwendet, um gerenderte Manifeste zu generieren.
Systemdiagnosen für die Bereitstellung
Skaffold führt sie aus und Cloud Deploy verwendet sie.
Wie verwendet Cloud Deploy Skaffold?
Die Renderingquelle und Verweise auf Container-Images werden beim Erstellen eines Releases an Cloud Deploy übergeben.
Im Rahmen der Releaseerstellung ruft Cloud Deploy Cloud Build auf, das wiederum skaffold diagnose und skaffold render zum Rendern des Manifests oder der Manifeste mit dieser Rendering-Quelle und diesen Images aufruft.
Sie können Skaffold-Profile verwenden, um Manifeste zu unterscheiden, die auf verschiedene Ziele angewendet werden.
Bei der Bereitstellung ruft Cloud Deploy skaffold apply auf, um das gerenderte Manifest oder die gerenderten Manifeste auf den Zielcluster anzuwenden.
Cloud Deploy unterstützt die Verwendung anderer Bereitstellungstools zum Bereitstellen Ihrer Anwendung nur, wenn Sie benutzerdefinierte Ziele verwenden.
Sie können jedoch Tools wie Helm oder Kustomize als Renderer verwenden. Weitere Informationen dazu, wie Cloud Deploy ohne bestimmte Bereitstellungstools (z. B. Helm) bereitgestellt wird, finden Sie unter Dienstarchitektur.
Skaffold für Sie erstellen
Konfigurieren Sie Skaffold gemäß Ihren Pipelineanforderungen.
Bestimmen Sie die Anforderungen Ihrer Bereitstellungspipeline.
Wie viele Ziele haben Sie? Rendering und Deployment sind für beide identisch. Wenn die Konfiguration für jedes Ziel in Ihrem Fortschritt gleich ist, müssen Sie keine Skaffold-Profile verwenden. Sie benötigen nur die Datei skaffold.yaml, in der die zu rendernden Manifeste beschrieben werden.
Erstellen Sie gegebenenfalls ein Skaffold-Profil für jedes Ziel.
Definieren Sie diese in der Datei skaffold.yaml und binden Sie sie an die Sequenz der Fortschrittspipeline-Definition für die Zustellungspipeline.
Detaillierungsgrad der Skaffold-Protokollierung festlegen
Standardmäßig ist die Skaffold-Logging-Ebene auf warn festgelegt. Sie können das in der Konfiguration für die Ausführungsumgebung eines Ziels ändern. Legen Sie dazu verbose: true fest.debug
Verbinden Sie Cloud Deploy mit Ihrem CI-System.
Am Ende Ihres CI-Prozesses übergeben Sie die skaffold.yaml, die Renderingquelle und die Container-Images, die in das gerenderte Manifest ausgefüllt werden sollen.
Optional: Richten Sie Ihre lokale Entwicklungsschleife mit Skaffold ein.
Die Verwendung von Skaffold für die Entwicklung ist in Cloud Deploy optional. Die einzige Voraussetzung für die Ausführung von Cloud Deploy ist eine skaffold.yaml-Datei, mit der Manifeste identifiziert werden.
Nächste Schritte
Besuchen Sie die Skaffold-Website, um zu erfahren, wie das funktioniert und was es für Sie tun kann.
Weitere Informationen Cloud Deploy wählt die zu verwendende Skaffold-Version aus, wann sich die Skaffold-Version ändert und wie die aktuell verwendete Version ermittelt wird.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)."]]