Use o esquema JSON dos fluxos de trabalho no seu IDE

Para fornecer suporte de sintaxe ao criar um fluxo de trabalho, pode usar o esquema JSON dos Workflows num ambiente de programação integrado (IDE), como o Visual Studio Code (VS Code) ou o IntelliJ IDEA. O suporte de sintaxe inclui preenchimento automático, validação e documentação inline. O esquema também pode ser integrado nos seus processos de CI/CD.

O esquema JSON dos fluxos de trabalho é escrito em esquema JSON, uma linguagem declarativa que lhe permite anotar e validar documentos JSON. A origem do esquema está alojada em SchemaStore.org, um repositório de esquemas para ficheiros de configuração comuns baseados em JSON. Tenha em atenção que os esquemas de SchemaStore.org também podem ser aplicados a ficheiros YAML.

Consoante o IDE ou o editor que preferir usar, pode instalar um plug-in ou aplicar suporte integrado para usar o esquema Workflows. O esquema pode ser armazenado localmente na raiz do projeto ou pode ser especificado através do respetivo URL do recurso em SchemaStore.org.

Formato do nome de ficheiro para ficheiros de definição de fluxo de trabalho

Independentemente do IDE ou do editor que usar, se estiver a usar um plug-in ou uma extensão para aplicar automaticamente o esquema Workflows a partir de SchemaStore.org, o formato do nome do ficheiro para o ficheiro de definição do fluxo de trabalho tem de ser o seguinte:

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

Se estiver a usar o VS Code ou o suporte integrado para aplicar o esquema Workflows, pode substituir os formatos dos nomes de ficheiros.

Limitações

O suporte de sintaxe através do esquema JSON dos fluxos de trabalho centra-se na conclusão automática de palavras-chave que definem um fluxo de trabalho. O esquema suporta o preenchimento automático para algumas funções da biblioteca padrão, mas existe um suporte limitado para nomes de variáveis dinâmicos, expressões e outras ferramentas de expressões. O esquema também pressupõe que um fluxo de trabalho está concluído e não tem em conta qualquer pós-processamento, como a combinação de subfluxos de trabalho.

Para evitar conflitos de esquemas JSON, recomendamos que não use mais do que uma extensão ou um plug-in para a compatibilidade com a sintaxe dos fluxos de trabalho.

Associe o esquema JSON dos Workflows no VS Code

O VS Code é um editor de código-fonte que é executado no seu computador e está disponível para Windows, macOS e Linux. Inclui suporte integrado para vários idiomas e suporta extensões para outros idiomas e tempos de execução. Para instalar e configurar o VS Code no seu computador, consulte o artigo Visual Studio Code.

Seguem-se várias formas de associar o esquema JSON dos fluxos de trabalho no VS Code.

Use o Cloud Code para criar fluxos de trabalho em YAML

O Cloud Code é um conjunto de plug-ins do IDE que facilita a criação, a implementação e a integração de aplicações com o Google Cloud.

Se estiver a usar o VS Code como IDE, pode usar o Cloud Code quando criar os seus fluxos de trabalho YAML, e este extrai automaticamente o esquema JSON dos Workflows de SchemaStore.org. Para confirmar que o esquema está a ser aplicado conforme esperado, crie um fluxo de trabalho YAML num espaço de trabalho ou numa pasta do VS Code e confirme que o preenchimento automático está a ocorrer para palavras-chave de fluxos de trabalho.

O Cloud Code também suporta esquemas Google Cloud offline e pode ser usado por pessoas que possam ter restrições de rede ou IDE. Para mais informações, consulte o seguinte:

Use o YAML da RedHat para criar fluxos de trabalho em YAML

Em alternativa à utilização da extensão Cloud Code para VS Code, pode usar a extensão YAML da RedHat. Esta extensão oferece suporte para a linguagem YAML e inclui suporte para a sintaxe do Kubernetes incorporado. Extrai automaticamente o esquema JSON dos fluxos de trabalho de SchemaStore.org.

Após a instalação da extensão, crie um fluxo de trabalho YAML. Na parte superior do ficheiro, deve existir um link para o ficheiro de configuração do Google Cloud Workflows (workflows.json). Se clicar no link, o esquema JSON dos fluxos de trabalho é aberto no editor do VS Code.

Substitua os formatos de nomes de ficheiros

Quando usa o Cloud Code ou o YAML da RedHat para criar fluxos de trabalho em YAML, pode substituir os formatos de nomes de ficheiros predefinidos aos quais o esquema de fluxos de trabalho é aplicado. Tem de especificar um mapeamento no ficheiro settings.json. As definições são escritas como JSON e pode rever e editar este ficheiro diretamente abrindo-o no editor do VS Code.

Por exemplo, se estiver a usar a extensão Cloud Code para VS Code, pode mapear um formato de nome de ficheiro na propriedade cloudcode.yaml.schemas:

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

Em alternativa, se estiver a usar a extensão YAML by RedHat, mapeie o formato do nome do ficheiro na propriedade yaml.schemas:

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

Os esquemas à esquerda são aplicados aos padrões glob à direita. Cada esquema está associado a vários globs através de uma matriz JSON. O esquema tem de ser um caminho relativo e não um caminho absoluto. O seu esquema pode ser local ou online.

Use o apoio técnico incorporado para criar fluxos de trabalho em JSON

Pode usar o suporte integrado no VS Code para associar o esquema JSON dos fluxos de trabalho especificando o mapeamento no ficheiro settings.json, na propriedade json.schemas. Pode rever e editar este ficheiro diretamente ao abri-lo no editor do VS Code.

Por exemplo, para extrair o esquema JSON dos fluxos de trabalho de SchemaStore.org:

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

Os esquemas à esquerda são aplicados aos padrões glob à direita; um esquema está associado a vários globs através de uma matriz JSON. O seu esquema tem de ser um caminho relativo e não um caminho absoluto. O seu esquema pode ser local ou online.

Pode substituir o formato do nome do ficheiro. Por exemplo:

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

Para mais informações, consulte o artigo Editar JSON com o Visual Studio Code.

Associe o esquema JSON dos fluxos de trabalho no IntelliJ IDEA

O IntelliJ IDEA é um IDE multiplataforma para linguagens da máquina virtual Java. Outros idiomas são suportados através de plug-ins. Para instalar e configurar o IntelliJ IDEA na sua máquina, consulte o artigo Instale o IntelliJ IDEA.

Seguem-se várias formas de associar o esquema JSON dos fluxos de trabalho no IntelliJ IDEA.

Use o Cloud Code para criar fluxos de trabalho em YAML ou JSON

O Cloud Code é um conjunto de plug-ins do IDE que facilita a criação, a implementação e a integração de aplicações com o Google Cloud.

Se estiver a usar o IntelliJ como IDE, pode usar o Cloud Code quando criar os seus fluxos de trabalho em YAML ou JSON, e este extrai automaticamente o esquema JSON dos Workflows de SchemaStore.org. O Cloud Code também suporta Google Cloud esquemas offline e pode ser usado por pessoas que possam ter restrições de rede ou IDE. Para mais informações, consulte o seguinte:

Use o apoio técnico incorporado para criar fluxos de trabalho em YAML ou JSON

O IntelliJ IDEA pode transferir e usar automaticamente esquemas de SchemaStore.org. Pode transferir o esquema JSON dos fluxos de trabalho e armazená-lo na raiz do projeto ou especificar o URL do recurso para que o IntelliJ IDEA possa transferir o esquema automaticamente. Para mapear o esquema, siga as instruções para configurar um esquema JSON personalizado.

Por predefinição, as transferências automáticas de esquemas de SchemaStore.org estão ativadas e os padrões de nomes de ficheiros predefinidos são validados em relação ao esquema.

Para substituir os padrões de ficheiros predefinidos, depois de navegar para Mapeamentos de esquemas JSON através da caixa de diálogo Definições, faça o seguinte:

  1. No campo Nome, escreva Esquema de fluxos de trabalho.
  2. No campo Ficheiro ou URL do esquema, escreva https://json.schemastore.org/workflows.json.
  3. Na lista Versão do esquema, selecione Versão 7 do esquema JSON.
  4. Adicione um padrão de caminho de ficheiro à sua escolha.

Mapeie o esquema através de jsonSchema.xml

O código-fonte do IntelliJ IDEA Community Edition está disponível através de https://github.com/JetBrains/intellij-community.

Pode mapear o esquema JSON dos fluxos de trabalho para o editor do IntelliJ IDEA adicionando uma entrada a jsonSchemas.xml.

Adicione a validação da sintaxe dos fluxos de trabalho aos seus processos de CI/CD

Adicionar a validação de sintaxe aos processos de integração, entrega e implementação contínuas (CI/CD) ajuda a reduzir os erros durante a integração, os testes, a entrega e a implementação.

Por exemplo, pode validar os dados em relação ao esquema JSON dos fluxos de trabalho usando a ferramenta ajv-cli. Tenha em atenção que, ao instalar a ferramenta, também instala o pacote ajv-formats. Por exemplo:

npm install -g ajv-cli ajv-formats

Outras ferramentas que podem ser úteis:

  • MegaLinter v8r: o MegaLinter é uma ferramenta de código aberto para fluxos de trabalho de CI/CD. A v8r verifica a validade dos ficheiros JSON/YAML se tiverem um esquema correspondente definido em SchemaStore.org.
  • Validadores de JSON: ferramentas de validação de JSON categorizadas por linguagem de programação ou plataforma de desenvolvimento.

O que se segue?