JSON-Schema für Workflows in Ihrer IDE verwenden

Zur Unterstützung der Syntax beim Erstellen eines Workflows können Sie das Workflow-JSON-Schema in einer integrierten Entwicklungsumgebung (IDE) wie Visual Studio Code (VS Code) oder Intellij IDEA verwenden. Die Syntaxunterstützung umfasst automatische Vervollständigung, Validierung und Inline-Dokumentation. Das Schema kann auch in Ihre CI/CD-Prozesse eingebunden werden.

Das JSON-Schema für Workflows ist im JSON-Schema geschrieben, einer deklarativen Sprache, mit der Sie JSON-Dokumente annotieren und validieren können. Die Schemaquelle wird auf SchemaStore.org gehostet, einem Repository mit Schemas für gängige JSON-basierte Konfigurationsdateien. Schemas von SchemaStore.org können auch auf YAML-Dateien angewendet werden.

Je nachdem, welche IDE oder welchen Editor Sie bevorzugen, können Sie ein Plug-in installieren oder integrierte Unterstützung zur Verwendung des Workflows-Schemas anwenden. Das Schema kann lokal im Stammverzeichnis Ihres Projekts gespeichert oder über seine Ressourcen-URL unter SchemaStore.org angegeben werden.

Dateinamenformat für Workflow-Definitionsdateien

Wenn Sie ein Plug-in oder eine Erweiterung zum automatischen Anwenden des Workflows-Schemas von SchemaStore.org verwenden, muss unabhängig von der verwendeten IDE oder dem verwendeten Editor das Dateinamenformat für Ihre Workflow-Definitionsdatei so lauten:

  • workflows.json
  • workflows.yaml
  • workflows.yml
  • *.workflows.json
  • *.workflows.yaml
  • *.workflows.yml

Wenn Sie VS Code oder die integrierte Unterstützung zum Anwenden des Workflows-Schemas verwenden, können Sie die Dateinamenformate überschreiben.

Beschränkungen

Die Syntaxunterstützung durch das JSON-Schema für Workflows konzentriert sich auf die automatische Vervollständigung von Keywords, die einen Workflow definieren. Das Schema unterstützt die automatische Vervollständigung für einige Funktionen der Standardbibliothek. Namen, Ausdrücke und andere Ausdruckhelfer werden jedoch nur eingeschränkt unterstützt. Das Schema geht außerdem davon aus, dass ein Workflow vollständig ist, und berücksichtigt keine Nachverarbeitung, z. B. die Kombination von untergeordneten Workflows.

Um JSON-Schemakonflikte zu vermeiden, empfehlen wir, für die Syntaxunterstützung von Workflows nicht mehr als eine Erweiterung oder ein Plug-in zu verwenden.

JSON-Schema für Workflows in VS Code verknüpfen

VS Code ist ein Quellcode-Editor, der auf Ihrem Desktop ausgeführt wird und für Windows, macOS und Linux verfügbar ist. Sie bietet integrierte Unterstützung für mehrere Sprachen und Erweiterungen für andere Sprachen und Laufzeiten. Informationen zum Installieren und Einrichten von VS Code auf Ihrem Computer finden Sie unter Visual Studio Code.

Es gibt verschiedene Möglichkeiten, das JSON-Schema für Workflows in VS Code zu verknüpfen.

Mit Cloud Code Workflows in YAML erstellen

Cloud Code besteht aus einer Reihe von IDE-Plug-ins, die das Erstellen, Bereitstellen und Einbinden von Anwendungen in Google Cloud vereinfachen.

Wenn Sie VS Code als IDE verwenden, können Sie Cloud Code beim Erstellen Ihrer YAML-Workflows verwenden. Das JSON-Schema für Workflows wird dann automatisch aus SchemaStore.org abgerufen. Um zu bestätigen, dass das Schema wie erwartet angewendet wird, erstellen Sie einen YAML-Workflow in einem VS Code-Arbeitsbereich oder -Ordner und bestätigen Sie, dass für Workflow-Keywords eine automatische Vervollständigung erfolgt.

Cloud Code unterstützt auch Google Cloud-Offlineschemas und kann von Nutzern mit Netzwerk- oder IDE-Einschränkungen verwendet werden. Weitere Informationen finden Sie hier:

YAML von RedHat zum Erstellen von Workflows in YAML verwenden

Als Alternative zur Erweiterung „Cloud Code for VS Code“ können Sie die Erweiterung „YAML by RedHat“ verwenden. Diese Erweiterung bietet Unterstützung für die YAML-Sprache und integrierte Unterstützung für die Kubernetes-Syntax. Das JSON-Schema für Workflows wird automatisch von SchemaStore.org abgerufen.

Erstellen Sie nach der Installation der Erweiterung einen YAML-Workflow. Oben in der Datei sollte der Link Google Cloud Workflows-Konfigurationsdatei (workflows.json) angezeigt werden. Wenn Sie auf den Link klicken, wird das JSON-Schema „Workflows“ im VS Code-Editor geöffnet.

Dateinamenformate überschreiben

Wenn Sie entweder Cloud Code oder YAML von RedHat zum Erstellen von Workflows in YAML verwenden, können Sie die Standarddateiformate überschreiben, auf die das Workflows-Schema angewendet wird. Sie müssen in der Datei settings.json eine Zuordnung angeben. Die Einstellungen werden im JSON-Format geschrieben. Sie können diese Datei direkt prüfen und bearbeiten, indem Sie sie im VS Code-Editor öffnen.

Wenn Sie beispielsweise die Erweiterung „Cloud Code for VS Code“ verwenden, können Sie dem Attribut cloudcode.yaml.schemas ein Dateinamenformat zuordnen:

{
    "cloudcode.yaml.schemas": {
        "https://json.schemastore.org/workflows.json": [
            "GLOB_PATTERN.yaml",
            "my-special-workflow.yaml"
        ]
    }
}

Wenn Sie die Erweiterung YAML by RedHat verwenden, ordnen Sie das Dateinamenformat dem Attribut yaml.schemas zu:

{
    "yaml.schemas": {
        "https://json.schemastore.org/workflows.json": [
            "GLOB_PATTERN.yaml",
            "my-special-workflow.yaml"
        ]
    }
}

Die Schemas auf der linken Seite werden auf die glob-Muster auf der rechten Seite angewendet. Jedes Schema wird mithilfe eines JSON-Arrays mit mehreren Globs verknüpft. Das Schema muss ein relativer Pfad und kein absoluter Pfad sein. Ihr Schema kann lokal oder online sein.

Integrierte Unterstützung zum Erstellen von Workflows in JSON nutzen

Sie können die integrierte Unterstützung in VS Code verwenden, um das JSON-Schema für Workflows zu verknüpfen. Geben Sie dazu die Zuordnung in der Datei settings.json unter dem Attribut json.schemas an. Sie können diese Datei direkt prüfen und bearbeiten, indem Sie sie im VS Code-Editor öffnen.

So rufen Sie beispielsweise das JSON-Schema für Workflows von SchemaStore.org ab:

{
    "json.schemas": [
        {
            "description": "SchemaStore.org",
            "fileMatch": [
                "workflows.json",
                "*.workflows.json"
            ],
            "url": "https://json.schemastore.org/workflows.json"
         }
    ]
}

Die Schemas auf der linken Seite werden auf die glob-Muster auf der rechten Seite angewendet. Ein Schema wird mithilfe eines JSON-Arrays mit mehreren Globs verknüpft. Das Schema muss ein relativer Pfad und kein absoluter Pfad sein. Ihr Schema kann lokal oder online sein.

Sie können das Format des Dateinamens überschreiben. Beispiel:

{
    "json.schemas": [
        {
            "description": "Workflows schema",
            "fileMatch": [
                "GLOB_PATTERN.json",
                "FILE_NAME.json"
            ],
            "url": "https://json.schemastore.org/workflows.json"
        }
    ]
}

Weitere Informationen finden Sie unter JSON mit Visual Studio Code bearbeiten.

JSON-Schema für Workflows in IntelliJ IDEA verknüpfen

IntelliJ IDEA ist eine plattformübergreifende IDE für Java Virtual Machine-Sprachen. Andere Sprachen werden von Plug-ins unterstützt. Informationen zum Installieren und Einrichten von IntelliJ IDEA auf Ihrem Computer finden Sie unter IntelliJ IDEA installieren.

Es gibt verschiedene Möglichkeiten, das JSON-Schema für Workflows in IntelliJ IDEA zu verknüpfen.

Mit Cloud Code Workflows in YAML oder JSON erstellen

Cloud Code besteht aus einer Reihe von IDE-Plug-ins, die das Erstellen, Bereitstellen und Einbinden von Anwendungen in Google Cloud vereinfachen.

Wenn Sie IntelliJ als IDE verwenden, können Sie Cloud Code beim Erstellen Ihrer Workflows in YAML oder JSON verwenden. Das JSON-Schema für Workflows wird dann automatisch von SchemaStore.org abgerufen. Cloud Code unterstützt auch Offline-Google Cloud-Schemas und kann von Nutzern verwendet werden, die Netzwerk- oder IDE-Einschränkungen haben. Weitere Informationen finden Sie unter:

Integrierte Unterstützung zum Erstellen von Workflows in YAML oder JSON nutzen

IntelliJ IDEA kann Schemas automatisch von SchemaStore.org herunterladen und verwenden. Sie können das JSON-Schema für Workflows herunterladen und im Projektstammverzeichnis speichern oder die URL der Ressource angeben, damit IntelliJ IDEA das Schema automatisch herunterladen kann. Folgen Sie der Anleitung zum Konfigurieren eines benutzerdefinierten JSON-Schemas, um das Schema zuzuordnen.

Standardmäßig sind automatische Downloads von Schemas von SchemaStore.org aktiviert und die Standardmuster für Dateinamen werden anhand des Schemas validiert.

Gehen Sie zum Überschreiben der Standarddateimuster im Dialogfeld Einstellungen zu JSON-Schemazuordnungen so:

  1. Geben Sie im Feld Name den Wert Workflows schema ein.
  2. Geben Sie im Feld Schemadatei oder URL den Wert https://json.schemastore.org/workflows.json ein.
  3. Wählen Sie aus der Liste Schemaversion die Option JSON Schemaversion 7 aus.
  4. Fügen Sie ein Dateipfadmuster Ihrer Wahl hinzu.

Schema über jsonSchema.xml zuordnen

Der Quellcode von IntelliJ IDEA Community Edition ist unter https://github.com/JetBrains/intellij-community verfügbar.

Sie können das JSON-Schema für Workflows für den IntelliJ IDEA-Editor zuordnen, indem Sie jsonSchemas.xml einen Eintrag hinzufügen.

CI-/CD-Prozessen die Syntaxvalidierung für Workflows hinzufügen

Durch das Hinzufügen der Syntaxvalidierung zu Ihren Continuous-Integration-, Continuous-Delivery- und -Deployment-Prozessen (CI/CD) können Sie Fehler bei der Integration, beim Testen, bei der Bereitstellung und bei der Bereitstellung reduzieren.

Sie können Daten beispielsweise mithilfe des Tools ajv-cli anhand des JSON-Schemas für Workflows validieren. Installieren Sie bei der Installation des Tools auch ajv-formats. Beispiel:

npm install -g ajv-cli ajv-formats

Weitere nützliche Tools:

  • MegaLinter v8r: MegaLinter ist ein Open-Source-Tool für CI/CD-Workflows. v8r prüft die Gültigkeit von JSON/YAML-Dateien, wenn diese ein übereinstimmendes Schema auf SchemaStore.org definiert haben.
  • JSON-Validatoren: JSON-Validierungstools, kategorisiert nach Programmiersprache oder Entwicklungsplattform.

Nächste Schritte