Utilizzare lo schema JSON Workflows nel tuo IDE

Per fornire supporto della sintassi durante la creazione di un flusso di lavoro, puoi utilizzare lo schema JSON Workflows 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 incorporata. Lo schema può anche essere integrato nei processi CI/CD.

Lo schema JSON di Workflows è scritto nello schema JSON, 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, puoi installare un plug-in o applicare il supporto integrato per l'utilizzo dello schema di Workflows. Lo schema può essere archiviato localmente nella directory principale del progetto oppure può essere 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 in uso, se usi un plug-in o un'estensione per applicare automaticamente lo schema Workflows da SchemaStore.org, il formato del nome file per il 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 di Workflows, puoi eseguire l'override dei formati dei nomi file.

Limitazioni

Il supporto della sintassi tramite lo schema JSON di Workflows si concentra sul completamento automatico delle parole chiave che definiscono un flusso di lavoro. Lo schema supporta il completamento automatico per alcune funzioni standard della libreria, ma è disponibile un supporto limitato per nomi di variabili dinamiche, espressioni e altri helper di espressioni. Lo schema presuppone inoltre che un flusso di lavoro sia completo e non tiene conto di alcuna post-elaborazione come la combinazione di flussi di lavoro secondari.

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

Associa lo schema JSON Workflows in VS Code

VS Code è un editor di codice sorgente che viene eseguito sul computer ed è disponibile per Windows, macOS e Linux. Include il 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 vari modi in cui puoi associare lo schema JSON di Workflows in VS Code.

usa 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 delle applicazioni con Google Cloud.

Se utilizzi VS Code come IDE, puoi usare Cloud Code durante la creazione dei flussi di lavoro YAML, che estrarrà automaticamente lo schema JSON di Workflows da SchemaStore.org. Per confermare che lo schema venga applicato come previsto, crea un flusso di lavoro YAML in un'area di lavoro o una cartella VS Code e verifica che il completamento automatico sia in corso per le parole chiave di Workflows.

Cloud Code supporta anche gli schemi Google Cloud offline e può essere utilizzato da chi potrebbe avere limitazioni di rete o IDE. Per scoprire di più, consulta le seguenti risorse:

Usa YAML di RedHat per creare flussi di lavoro in YAML

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

Dopo aver installato l'estensione, crea un flusso di lavoro YAML. Nella parte superiore del file deve 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 di VS Code.

Esegui l'override dei formati dei nomi file

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

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

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

Oppure, 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 sono applicati ai pattern glob a destra; ogni schema è associato a più glob utilizzando un array JSON. Lo schema deve essere un percorso relativo e non un percorso assoluto. Lo schema può essere locale oppure online.

Usa 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 il mapping nel file settings.json, nella proprietà json.schemas. Puoi rivedere e modificare questo file direttamente aprendolo nell'editor di codice VS.

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 sono applicati ai pattern glob a destra; uno schema è associato a più glob utilizzando un array JSON. Lo schema deve essere un percorso relativo e non un percorso assoluto. Lo schema può essere locale oppure 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 la sezione Modifica di JSON con Visual Studio Code.

Associa lo schema JSON Workflows in IntelliJ IDEA

IntelliJ IDEA è un IDE multipiattaforma per i linguaggi Java Virtual Machine. I plug-in supportano altre lingue. Per installare e configurare IntelliJ IDEA sulla tua macchina, consulta Installare IntelliJ IDEA.

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

Usa 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 delle applicazioni con Google Cloud.

Se utilizzi IntelliJ come IDE, puoi usare Cloud Code durante la creazione dei flussi di lavoro in YAML o JSON, che estrarrà automaticamente lo schema JSON di Workflows da SchemaStore.org. Cloud Code supporta anche gli schemi Google Cloud offline e può essere utilizzato da chi potrebbe avere limitazioni di rete o IDE. Per ulteriori informazioni, fai riferimento a quanto segue:

Usa 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, sono abilitati i download automatici di schemi da schemaStore.org e i pattern di nomi file predefiniti vengono convalidati in base allo schema.

Per eseguire l'override dei pattern di file predefiniti, dopo aver effettuato l'accesso a Mappature schema JSON nella finestra di dialogo Impostazioni, procedi nel seguente modo:

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

Mappa lo schema tramite jsonSchema.xml

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

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

Aggiungi 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, installa anche ajv-formats. Ad esempio:

npm install -g ajv-cli ajv-formats

Altri strumenti che potrebbero esserti utili:

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

Passaggi successivi