Utilisez le schéma JSON Workflows dans votre IDE

Pour assurer une prise en charge de la syntaxe lors de la création d'un workflow, vous pouvez utiliser la Schéma JSON Workflows dans un environnement de développement intégré (IDE), comme Visual Studio Code (VS Code) ou Intellij IDEA. Syntaxe inclut la saisie semi-automatique, la validation et la documentation intégrée. Le schéma peut également être intégré à vos processus CI/CD.

Le schéma JSON des workflows est écrit en JSON Schema, un langage déclaratif qui vous permet d'annoter et de valider des documents JSON. La source du schéma est hébergée sur SchemaStore.org, un dépôt de schémas pour les fichiers de configuration courants au format JSON. Notez que les schémas de SchemaStore.org peuvent également être appliqués aux fichiers YAML.

En fonction de l'IDE ou de l'éditeur que vous préférez utiliser, vous pouvez installer un plug-in ou appliquer une prise en charge intégrée pour utiliser le schéma Workflows. Le schéma peut être stocké localement à la racine de votre projet ou spécifié via la fonction l'URL de la ressource sur SchemaStore.org.

Format de nom de fichier pour les fichiers de définition de workflow

Quel que soit l'IDE ou l'éditeur que vous utilisez, si vous utilisez un plug-in ou pour appliquer automatiquement le schéma Workflows à partir de sur schemaStore.org, le format du fichier de définition de votre workflow doit comme suit:

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

Si vous utilisez VS Code ou si vous bénéficiez de la compatibilité intégrée pour appliquer Workflows, vous pouvez remplacer les formats de nom de fichier.

Limites

La prise en charge de la syntaxe via le schéma JSON Workflows se concentre sur la saisie semi-automatique des mots clés qui définissent un workflow. Le schéma est compatible avec la saisie semi-automatique pour certains fonctions de bibliothèque standards, mais la compatibilité des noms de variables dynamiques, expressions et autres d'expression. Le schéma suppose également qu'un workflow est complet ne tient pas compte d'un post-traitement tel que la combinaison de sous-workflows.

Pour éviter les conflits de schémas JSON, nous vous recommandons de ne pas en utiliser plus d'un ou plug-in pour la compatibilité avec la syntaxe Workflows.

Associer le schéma JSON des workflows dans VS Code

VS Code est un éditeur de code source qui s'exécute sur votre ordinateur de bureau et est disponible pour Windows, macOS et Linux. Il est compatible avec plusieurs langues. et prend en charge les extensions pour d'autres langages et environnements d'exécution. Pour installer et configurer VS Code sur votre ordinateur, consultez Visual Studio Code.

Voici différentes manières d'associer les workflows Schéma JSON dans VS Code.

Utiliser Cloud Code pour créer des workflows en YAML

Cloud Code est un ensemble de plug-ins IDE qui facilite la création, déployer et intégrer des applications à Google Cloud.

Si vous utilisez VS Code comme IDE, vous pouvez utiliser Cloud Code lorsque vous créez vos workflows YAML. Il extrait automatiquement le schéma JSON des workflows à partir de SchemaStore.org. Pour confirmer que le schéma est appliqué comme prévu, créez un workflow YAML ou un dossier, et vérifiez que la saisie semi-automatique est activée pour Mots clés associés aux workflows

Cloud Code est également compatible avec les schémas Google Cloud hors connexion et peut être utilisés par ceux qui pourraient avoir des restrictions réseau ou IDE. Pour en savoir plus, consultez les ressources suivantes :

Utiliser YAML by RedHat pour créer des workflows en YAML

Au lieu d'utiliser l'extension Cloud Code for VS Code, vous pouvez utiliser la classe Extension YAML par RedHat. Cette extension est compatible avec le langage YAML et inclut une compatibilité intégrée avec la syntaxe Kubernetes. Il extrait automatiquement le schéma JSON des workflows à partir de SchemaStore.org.

Après avoir installé l'extension, créez un workflow YAML. En haut de la il doit y avoir Lien vers le fichier de configuration Google Cloud Workflows (workflows.json). Si vous cliquez sur le lien, le schéma JSON Workflows s'ouvre dans l'éditeur VS Code.

Ignorer les formats de nom de fichier

Lorsque vous utilisez Cloud Code ou YAML by RedHat pour créer des workflows en YAML, vous pouvez remplacer les formats de nom de fichier par défaut auxquels le schéma de workflow s'applique. Vous devez spécifier un mappage dans settings.json. . Les paramètres sont écrits au format JSON. Vous pouvez consulter et modifier ce fichier directement en l'ouvrant dans l'éditeur VS Code.

Par exemple, si vous utilisez l'extension Cloud Code pour VS Code, vous pouvez mapper un format de nom de fichier sous la propriété cloudcode.yaml.schemas :

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

Ou, si vous utilisez l'extension YAML par RedHat, mappez le format du nom de fichier sous la propriété yaml.schemas:

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

Les schémas de gauche sont appliqués aux expressions régulières à la droite. Chaque schéma est associé à plusieurs expressions régulières à l'aide d'un tableau JSON. Votre schéma doit être un chemin d'accès relatif et non absolu. Votre schéma peut être local ou en ligne.

Utiliser la compatibilité intégrée pour créer des workflows au format JSON

Vous pouvez utiliser la compatibilité intégrée dans VS Code pour associer les workflows schéma JSON en spécifiant le mappage dans le fichier settings.json, sous le fichier la propriété json.schemas. Vous pouvez consulter et modifier ce fichier directement en en l'ouvrant dans l'éditeur VS Code.

Par exemple, pour extraire le schéma JSON Workflows de SchemaStore.org:

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

Les schémas de gauche sont appliqués aux expressions régulières à la droite. Un schéma est associé à plusieurs expressions régulières à l'aide d'un tableau JSON. Votre schéma doit être un un chemin d'accès relatif et non un chemin d'accès absolu. Votre schéma peut être local ou en ligne.

Vous pouvez remplacer le format du nom de fichier. Exemple :

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

Pour en savoir plus, consultez Modifier du code JSON avec Visual Studio Code

Associer le schéma JSON des workflows dans IntelliJ IDEA

IntelliJ IDEA est un IDE multiplate-forme pour les langages de machine virtuelle Java. D'autres langues sont prises en charge via des plug-ins. Pour installer et configurer IntelliJ IDEA sur votre ordinateur, consultez Installer IntelliJ IDEA.

Vous trouverez ci-dessous différentes façons d'associer le schéma JSON des workflows dans IntelliJ IDEA.

Utiliser Cloud Code pour créer des workflows en YAML ou JSON

Cloud Code est un ensemble de plug-ins IDE qui facilitent la création, le déploiement et l'intégration d'applications avec Google Cloud.

Si vous utilisez IntelliJ comme IDE, vous pouvez utiliser Cloud Code quand vos workflows au format YAML ou JSON. L'outil récupère automatiquement le schéma JSON Workflows de SchemaStore.org. Cloud Code est également compatible avec les schémas Google Cloud hors connexion et peut être utilisé par ceux avec des restrictions liées au réseau ou à l'IDE. Pour en savoir plus, consultez les sections suivantes :

Utiliser la compatibilité intégrée pour créer des workflows au format YAML ou JSON

IntelliJ IDEA peut automatiquement télécharger et utiliser des schémas à partir de SchemaStore.org. Vous pouvez télécharger le schéma JSON des workflows et le stocker sous la racine du projet ou spécifier l'URL de la ressource afin qu'IntelliJ IDEA puisse télécharger le schéma automatiquement. Pour mapper le schéma, suivez les instructions permettant Configurer un schéma JSON personnalisé

Par défaut, de téléchargements automatiques de schémas depuis SchemaStore.org sont activés, et les formats de noms de fichiers par défaut sont validés par rapport au schéma.

Pour remplacer les modèles de fichiers par défaut, accédez à Mappages de schémas JSON dans la boîte de dialogue Settings (Paramètres), puis procédez comme suit :

  1. Dans le champ Name (Nom), saisissez Workflows schema (Schéma des workflows).
  2. Dans le champ Fichier de schéma ou URL, saisissez https://json.schemastore.org/workflows.json.
  3. Dans la liste Version du schéma, sélectionnez Schéma JSON version 7.
  4. Ajoutez un modèle de chemin d'accès au fichier de votre choix.

Mapper le schéma via jsonSchema.xml

Le code source d'IntelliJ IDEA Community Edition est disponible via https://github.com/JetBrains/intellij-community.

Vous pouvez mapper le schéma JSON Workflows pour IntelliJ IDEA de l'éditeur en ajoutant une entrée jsonSchemas.xml.

Ajouter la validation de la syntaxe des workflows à vos processus CI/CD

Ajouter la validation syntaxique à vos services d'intégration, de livraison et de livraison continues de déploiement (CI/CD) aident à réduire les erreurs lors de l'intégration, des tests, la livraison et le déploiement.

Par exemple, vous pouvez valider les données par rapport au fichier à l'aide de la commande ajv-cli . Notez que lorsque vous installez l'outil, installez également ajv-formats. Exemple :

npm install -g ajv-cli ajv-formats

Autres outils pouvant être utiles:

  • MegaLinter v8r : MegaLinter est un outil Open Source pour les workflows CI/CD. La version v8r vérifie la validité des fichiers JSON/YAML s'ils disposent d'un schéma correspondant défini sur SchemaStore.org.
  • Validateurs JSON : outils de validation JSON classés par langage de programmation ou plate-forme de développement.

Étape suivante