Pour fournir une compatibilité avec la syntaxe lors de la création d'un workflow, vous pouvez utiliser le schéma JSON des workflows dans un environnement de développement intégré (IDE) tel que Visual Studio Code (VS Code) ou IntelliJ IDEA. La prise en charge de la 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.
Selon l'IDE ou 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 dans la racine de votre projet ou spécifié via son URL de 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 une extension pour appliquer automatiquement le schéma de Workflows à partir de SchemaStore.org, le format de nom de fichier de votre fichier de définition de workflow doit être le suivant:
workflows.json
workflows.yaml
workflows.yml
*.workflows.json
*.workflows.yaml
*.workflows.yml
Si vous utilisez VS Code ou la prise en charge intégrée pour appliquer le schéma de 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 certaines fonctions de bibliothèque standards, mais il n'est pas compatible avec les noms de variables dynamiques, les expressions et d'autres outils d'assistance pour les expressions. Le schéma suppose également qu'un workflow est terminé et ne tient pas compte d'un post-traitement, tel que la combinaison de sous-workflows.
Pour éviter les conflits de schéma JSON, nous vous recommandons de ne pas utiliser plus d'une extension ou d'un plug-in pour la prise en charge de 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 langues et environnements d'exécution. Pour installer et configurer VS Code sur votre ordinateur, consultez Visual Studio Code.
Vous trouverez ci-dessous différentes façons d'associer le schéma JSON des workflows dans VS Code.
Utiliser Cloud Code pour créer des workflows en YAML
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 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 vérifier que le schéma est appliqué comme prévu, créez un workflow YAML dans un espace de travail ou un dossier VS Code, puis vérifiez que la saisie semi-automatique est appliquée aux mots clés de Workflows.
Cloud Code est également compatible avec les schémas Google Cloud hors connexion et peut être utilisé par ceux qui peuvent avoir des restrictions réseau ou d'IDE. Pour en savoir plus, consultez les ressources suivantes:
- Installer l'extension Cloud Code pour VS Code
- Utiliser YAML dans Cloud Code pour VS Code
- En savoir plus sur Cloud Code pour VS Code
Utiliser YAML by RedHat pour créer des workflows en YAML
Au lieu d'utiliser l'extension Cloud Code pour VS Code, vous pouvez utiliser l'extension YAML by 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 du fichier, vous devriez trouver un 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.
Remplacer les formats de noms de fichiers
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 le fichier 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" ] } }
Si vous utilisez l'extension YAML de RedHat, mappez le format de 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 prise en charge intégrée de VS Code pour associer le schéma JSON des workflows en spécifiant le mappage dans le fichier settings.json
, sous la propriété json.schemas
. Vous pouvez examiner et modifier ce fichier directement en l'ouvrant dans l'éditeur VS Code.
Par exemple, pour extraire le schéma JSON des workflows à partir 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 chemin relatif et non un chemin 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 la section Modifier un fichier 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 la 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 lorsque vous créez vos workflows en YAML ou en JSON. Il extrait automatiquement le schéma JSON des workflows à partir de SchemaStore.org. Cloud Code est également compatible avec les schémas Google Cloud hors connexion et peut être utilisé par ceux qui peuvent avoir des restrictions réseau ou d'IDE. Pour en savoir plus, consultez les sections suivantes :
- Installer le plug-in Cloud Code pour IntelliJ
- Utiliser YAML dans Cloud Code for IntelliJ
- En savoir plus sur Cloud Code for IntelliJ
Utiliser la prise en charge intégrée pour créer des workflows en YAML ou en JSON
IntelliJ IDEA peut télécharger et utiliser automatiquement 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 pour configurer un schéma JSON personnalisé.
Par défaut, les téléchargements automatiques de schémas depuis SchemaStore.org sont activés et les modèles 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:
- Dans le champ Name (Nom), saisissez Workflows schema (Schéma des workflows).
- Dans le champ Fichier ou URL du schéma, saisissez https://json.schemastore.org/workflows.json.
- Dans la liste Version du schéma, sélectionnez Schéma JSON version 7.
- Ajoutez un modèle de chemin d'accès au fichier de votre choix.
Mappez le schéma via jsonSchema.xml
.
Le code source d'IntelliJ IDEA Community Edition est disponible sur https://github.com/JetBrains/intellij-community.
Vous pouvez mapper le schéma JSON des workflows pour l'éditeur IntelliJ IDEA en ajoutant une entrée à jsonSchemas.xml.
Ajouter la validation de la syntaxe des workflows à vos processus CI/CD
Ajouter une validation de syntaxe à vos processus d'intégration, de livraison et de déploiement continus (CI/CD) permet de réduire les erreurs lors de l'intégration, des tests, de la livraison et du déploiement.
Par exemple, vous pouvez valider les données par rapport au schéma JSON des workflows à l'aide de l'outil ajv-cli. Notez que lorsque vous installez l'outil, installez également ajv-formats. Exemple :
npm install -g ajv-cli ajv-formats
Autres outils susceptibles d'ê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
- Blog Google Cloud: Mise à jour du schéma JSON des workflows