Utilizzare lo schema JSON di Workflows nell'IDE

Per fornire il supporto della sintassi durante la creazione di un flusso di lavoro, puoi utilizzare lo schema JSON dei flussi di lavoro in un ambiente di sviluppo integrato (IDE) come Visual Studio Code (VS Code) o Intellij IDEA. Il supporto della sintassi include il completamento automatico, la convalida e la documentazione in linea. Lo schema può essere integrato anche nei processi CI/CD.

Lo schema JSON di Workflows è scritto in JSON Schema, un linguaggio dichiarativo che consente di annotare e convalidare i documenti JSON. L'origine dello schema è ospitata su SchemaStore.org, un repository di schemi per i file di configurazione comuni basati su JSON. Tieni presente che gli schemi di SchemaStore.org possono essere applicati anche ai file YAML.

A seconda dell'IDE o dell'editor che preferisci utilizzare, puoi installare un plug-in o applicare il supporto integrato per utilizzare lo schema Workflows. Lo schema può essere archiviato localmente nella directory principale del progetto o specificato tramite il relativo URL della risorsa su SchemaStore.org.

Formato del nome file per i file di definizione del flusso di lavoro

Indipendentemente dall'IDE o dall'editor che utilizzi, se utilizzi un plug-in o un'estensione per applicare automaticamente lo schema Workflows da SchemaStore.org, il formato del nome del file di definizione del flusso di lavoro deve essere il seguente:

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

Se utilizzi VS Code o se utilizzi il supporto integrato per applicare lo schema Workflows, puoi sostituire i formati dei nomi file.

Limitazioni

Il supporto della sintassi tramite lo schema JSON di Workflows si concentra sulla completamento automatico delle parole chiave che definiscono un flusso di lavoro. Lo schema supporta il completamento automatico per alcune funzioni della libreria standard, ma esiste un supporto limitato per i nomi delle variabili dinamiche, le espressioni e altri strumenti di assistenza per le espressioni. Lo schema presuppone inoltre che un flusso di lavoro sia completo e non tiene conto di eventuali post-elaborazione, come la combinazione di sottoflussi di lavoro.

Per evitare conflitti di schema JSON, ti consigliamo di non utilizzare più di un'estensione o un plug-in per il supporto della sintassi di Workflows.

Associare lo schema JSON di Workflows in VS Code

VS Code è un editor di codice sorgente che funziona sul computer ed è disponibile per Windows, macOS e Linux. È dotato di supporto integrato per diversi linguaggi e supporta estensioni per altri linguaggi e runtime. Per installare e configurare VS Code sulla tua macchina, consulta Visual Studio Code.

Di seguito sono riportati diversi modi per associare lo schema JSON di Workflows in VS Code.

Utilizzare Cloud Code per creare flussi di lavoro in YAML

Cloud Code è un insieme di plug-in IDE che semplifica la creazione, il deployment e l'integrazione di applicazioni con Google Cloud.

Se utilizzi VS Code come IDE, puoi utilizzare Cloud Code per scrivere i flussi di lavoro YAML e recuperare automaticamente lo schema JSON dei flussi di lavoro da SchemaStore.org. Per verificare che lo schema venga applicato come previsto, crea un flusso di lavoro YAML in uno spazio di lavoro o in una cartella di VS Code e verifica che la compilazione automatica venga eseguita per le parole chiave Workflows.

Cloud Code supporta anche gli schemi di Google Cloud offline e può essere utilizzato da chi potrebbe avere limitazioni di rete o IDE. Per ulteriori informazioni, consulta quanto segue:

Utilizzare YAML di RedHat per creare workflow in YAML

In alternativa all'utilizzo dell'estensione Cloud Code per VS Code, puoi utilizzare l'estensione YAML di RedHat. Questa estensione fornisce il supporto del linguaggio YAML e include il supporto della sintassi di Kubernetes integrato. Estrae automaticamente lo schema JSON Workflows da SchemaStore.org.

Dopo aver installato l'estensione, crea un workflow YAML. Nella parte superiore del file, dovrebbe essere presente un link al file di configurazione di Google Cloud Workflows (workflows.json). Se fai clic sul link, lo schema JSON di Workflows si apre nell'editor VS Code.

Sostituire i formati dei nomi file

Quando utilizzi Cloud Code o YAML di RedHat per creare flussi di lavoro in YAML, puoi sostituire i formati dei nomi dei file predefiniti a cui viene applicato lo schema Workflows. Devi specificare una mappatura nel file settings.json. Le impostazioni sono scritte in JSON e puoi esaminarle e modificarle direttamente aprendo il file nell'editor VS Code.

Ad esempio, se utilizzi l'estensione Cloud Code for VS Code, puoi mappare un formato del nome file nella proprietà cloudcode.yaml.schemas:

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

In alternativa, se utilizzi l'estensione YAML di RedHat, mappa il formato del nome file nella proprietà yaml.schemas:

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

Gli schemi a sinistra vengono applicati ai pattern di glob a destra. Ogni schema è associato a più glob utilizzando un array JSON. Lo schema deve essere un percorso relativo e non assoluto. Lo schema può essere locale o online.

Utilizzare il supporto integrato per creare flussi di lavoro in JSON

Puoi utilizzare il supporto integrato in VS Code per associare lo schema JSON di Workflows specificando la mappatura nel file settings.json, nella proprietà json.schemas. Puoi rivedere e modificare questo file direttamente aprendolo nell'editor VS Code.

Ad esempio, per estrarre lo schema JSON di Workflows da SchemaStore.org:

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

Gli schemi a sinistra vengono applicati ai pattern di glob a destra. Uno schema è associato a più glob utilizzando un array JSON. Lo schema deve essere un percorso relativo e non assoluto. Lo schema può essere locale o online.

Puoi sostituire il formato del nome file. Ad esempio:

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

Per ulteriori informazioni, consulta Modificare i file JSON con Visual Studio Code.

Associare lo schema JSON di Workflows in IntelliJ IDEA

IntelliJ IDEA è un IDE multipiattaforma per i linguaggi della Java Virtual Machine. Altre lingue sono supportate tramite plug-in. Per installare e configurare IntelliJ IDEA sul tuo computer, consulta Installare IntelliJ IDEA.

Di seguito sono riportati diversi modi in cui puoi associare lo schema JSON di Workflows in IntelliJ IDEA.

Utilizzare Cloud Code per creare flussi di lavoro in YAML o JSON

Cloud Code è un insieme di plug-in IDE che semplifica la creazione, il deployment e l'integrazione di applicazioni con Google Cloud.

Se utilizzi IntelliJ come IDE, puoi utilizzare Cloud Code per la creazione dei flussi di lavoro in YAML o JSON e lo schema JSON dei flussi di lavoro verrà recuperato automaticamente da SchemaStore.org. Cloud Code supporta anche gli schemi di Google Cloud offline e può essere utilizzato da chi potrebbe avere limitazioni di rete o IDE. Per ulteriori informazioni, consulta quanto segue:

Utilizza il supporto integrato per creare flussi di lavoro in YAML o JSON

IntelliJ IDEA può scaricare e utilizzare automaticamente gli schemi da SchemaStore.org. Puoi scaricare lo schema JSON di Workflows e archiviarlo nella directory principale del progetto o specificare l'URL della risorsa in modo che IntelliJ IDEA possa scaricare automaticamente lo schema. Per mappare lo schema, segui le istruzioni per configurare uno schema JSON personalizzato.

Per impostazione predefinita, i download automatici degli schemi da SchemaStore.org sono abilitati e i pattern dei nomi file predefiniti vengono convalidati in base allo schema.

Per sostituire i pattern dei file predefiniti, dopo aver eseguito la navigazione fino a Mappature dello schema JSON tramite la finestra di dialogo Impostazioni, procedi nel seguente modo:

  1. Nel campo Nome, digita Schema flussi di lavoro.
  2. Nel campo File o URL dello schema, digita https://json.schemastore.org/workflows.json.
  3. Nell'elenco Versione schema, seleziona JSON Schema versione 7.
  4. Aggiungi un pattern di percorso del file a tua scelta.

Mappa lo schema tramite jsonSchema.xml

Il codice sorgente di IntelliJ IDEA Community Edition è disponibile tramite https://github.com/JetBrains/intellij-community.

Puoi mappare lo schema JSON di Workflows per l'editor IntelliJ IDEA aggiungendo una voce a jsonSchemas.xml.

Aggiungere la convalida della sintassi di Workflows ai processi CI/CD

L'aggiunta della convalida della sintassi ai processi di integrazione, distribuzione e deployment continui (CI/CD) consente di ridurre gli errori durante l'integrazione, i test, la distribuzione e il deployment.

Ad esempio, puoi convalidare i dati in base allo schema JSON di Workflows utilizzando lo strumento ajv-cli. Tieni presente che, quando installi lo strumento, devi installare anche ajv-formats. Ad esempio:

npm install -g ajv-cli ajv-formats

Altri strumenti che potrebbero essere utili:

  • MegaLinter v8r: MegaLinter è uno strumento open source per i flussi di lavoro CI/CD. La versione v8r controlla la validità dei file JSON/YAML se hanno uno schema corrispondente definito su SchemaStore.org.
  • Strumenti di convalida JSON: strumenti di convalida JSON classificati in base al linguaggio di programmazione o alla piattaforma di sviluppo.

Passaggi successivi