Skaffold-Module

Skaffold ist ein Befehlszeilentool für die kontinuierliche Entwicklung für Kubernetes-native Anwendungen. Skaffold übernimmt den Workflow zum Erstellen, Übertragen und Bereitstellen Ihrer Anwendung und bietet Bausteine zum Erstellen von CI/CD-Pipelines. Skaffold ist die Engine, die Cloud Code unterstützt.

Skaffold-Projekte verwenden in der Regel eine einzelne skaffold.yaml-Konfiguration, um zu beschreiben, wie die Anwendung erstellt und bereitgestellt wird. Wenn ein Projekt wächst, kann es nützlich sein, die Anwendungspipeline in separate Teile aufzuteilen.

Skaffold unterstützt die Definition mehrerer Konfigurationsabhängigkeiten werden entweder zusammen in derselben skaffold.yaml-Datei platziert und mithilfe von YAML getrennt Dokumenttrennzeichen (---) oder in separaten skaffold.yaml platziert Dateien, auf die in einer übergeordneten skaffold.yaml-Datei verwiesen wird. Eine Konfiguration kann in ein Modul umgewandelt werden. Geben Sie dafür einen Namen im Feld .metadata.name ein.

Mithilfe von Modulen können Sie Teile der Anwendung unabhängig entwickeln und Fehler beheben. Abhängigkeiten können zwischen Konfigurationsdateien und bestimmten Modulen definiert werden.

Fehler in Anwendungen mit Skaffold-Modulen beheben

Sie können die gesamte Anwendung oder eine Reihe von definierten Modulen iterativ entwickeln und Fehler beheben. Skaffold verwaltet die Modulabhängigkeiten und die Reihenfolge der Bereitstellung.

Erste Schritte mit einem Skaffold-Modulbeispiel

Weitere Informationen zum Auswählen von Modulen für Ihre Anwendung finden Sie unter Teile einer Anwendung unabhängig entwickeln.

Wenn Sie keine Skaffold-Module verwendet haben und das Feature mit einem Beispiel testen möchten, finden Sie weitere Informationen unter:Gästebuchbeispiel, das modularisiert ist infrontend undbackend.

Ein großes Anwendungsbeispiel für Unternehmen, das mit verschiedenen Technologien und Sprachen entwickelt wurde und Skaffold-Module verwendet, finden Sie im Beispiel für Bank of Anthos.

Gängige Anwendungsfälle

In diesem Abschnitt werden einige gängige Anwendungsfälle beschrieben, die verschiedene Szenarien zeigen, wann und wie Sie Module in Ihrer IDE verwenden können.

Entwicklung von Mikrodiensten

Sie sind ein Frontend-Entwickler, der hauptsächlich am frontend-Modul arbeitet. Als Mikrodienst hat frontend keine explizite Code- oder Bibliotheksabhängigkeit für das backend-Repository, erfordert aber die Bereitstellung und Ausführung von backend im Cluster.

Sie verwenden Ihr Skaffold-basiertes Projekt, das eine frontend-Moduldefinition enthält, um eine Cloud Code-IDE in einem freigegebenen Entwicklungscluster bereitzustellen und Fehler zu beheben, in dem das Backend-Team auch seinen Dienst bereitstellt. Das DevOps-Team verwaltet diesen freigegebenen Cluster.

Sie arbeiten meistens nicht mit backend-Code oder beheben Fehler oder aktualisieren Kubernetes-Konfigurationen. Skaffold erstellt und stellt andere Konfigurationen bereit, die für frontend erforderlich sind. Sie konfigurieren die Cloud Code-Bereitstellungskonfiguration so, dass sie nur im Modul frontend iteriert.

Sie können auch frontend und backend in einem lokalen Cluster bereitstellen, um eine schnellere iterative Erfahrung zu erhalten.

Grenzübergreifende Mikrodienstentwicklung und -Fehlerbehebung

Wenn mehrere Fehler zusammen behoben werden müssen, können Sie:

  • Das übergeordnete Verzeichnis, in dem sich alle Unterverzeichnisse mit dem Quellcode des Moduls relativ zueinander befinden, öffnen.
  • Die Root-Datei skaffold.yaml für die Bereitstellung auswählen (Konfigurationen)
  • Konfigurieren Sie die Cloud Code-Bereitstellungskonfiguration so, dass sie nur auf die lokal verfügbaren Module frontend und backend und auf deren jeweiliges Kubernetes-Konfigurationsmodul iteriert, wenn Änderungen vorhanden sind.

Sie können auch eine separate skaffold.yaml-Stammdatei für lokale mit einem statischen Datenserver.

YAML-Bearbeitung von intelligenten Modulen

Sie sind DevOps-Entwickler und erstellen ein Vorlagen-Repository für das Team von Mikrodienstentwicklern, die Skaffold-Module verwenden. Sie möchten gewährleisten, dass in Moduldefinitionen keine Fehler auftreten, ohne Skaffold manuell auszuführen (z. B. zyklische Abhängigkeiten oder nicht eindeutige Modulnamen). Sie verwenden Cloud Code-IDEs, um Skaffold-YAML-Konfigurationsdateien zu bearbeiten.

Support kontaktieren

So senden Sie Feedback oder melden ein Problem in Ihrer IntelliJ-IDE: Tools > Cloud Code > Hilfe / Info > Feedback geben oder Problem melden, um ein Problem auf GitHub zu melden oder stellen Sie eine Frage zu Stack Overflow.