Para oferecer suporte à sintaxe ao criar um fluxo de trabalho, você pode usar o Esquema JSON de fluxos de trabalho em um ambiente de desenvolvimento integrado (IDE), como Visual Studio Code (VS Code) ou Intellij IDEA. Suporte a sintaxe inclui preenchimento automático, validação e documentação em linha. O esquema pode também podem ser integradas aos seus processos de CI/CD.
O esquema JSON dos fluxos de trabalho é escrito em JSON Schema, uma linguagem declarativa que permite anotar e validar documentos JSON. A origem do esquema está hospedada em SchemaStore.org, um repositório de esquemas para arquivos de configuração comuns baseados em JSON. Os esquemas do SchemaStore.org também podem ser aplicados a arquivos YAML.
Dependendo do ambiente de desenvolvimento integrado ou editor que você prefere usar, é possível instalar um plug-in ou aplicar o suporte integrado para usar o esquema de fluxos de trabalho. O esquema podem ser armazenados localmente na raiz do projeto ou podem ser especificados por meio do o URL do recurso em SchemaStore.org.
Formato do nome dos arquivos de definição do fluxo de trabalho
Independentemente do ambiente de desenvolvimento integrado ou editor que você usa, se estiver usando um plug-in ou uma extensão para aplicar automaticamente o esquema de fluxos de trabalho do SchemaStore.org, o formato de nome do arquivo de definição do fluxo de trabalho precisa ser o seguinte:
workflows.json
workflows.yaml
workflows.yml
*.workflows.json
*.workflows.yaml
*.workflows.yml
Se você estiver usando o VS Code ou o suporte integrado para aplicar a de fluxos Workflows, é possível substituir os formatos de nome de arquivo.
Limitações
O suporte à sintaxe pelo esquema JSON dos fluxos de trabalho se concentra na autopreenchimento de palavras-chave que definem um fluxo de trabalho. O esquema oferece suporte à autopreenchimento para algumas funções de biblioteca padrão, mas há suporte limitado para nomes de variáveis dinâmicas, expressões e outros ajudantes de expressão. O esquema também pressupõe que um fluxo de trabalho está completo e não considera o pós-processamento, como a combinação de subfluxos de trabalho.
Para evitar conflitos de esquema JSON, recomendamos não usar mais de um ou plug-in para suporte à sintaxe do Workflows.
Associar o esquema JSON do Workflows ao VS Code
O VS Code é um editor de código-fonte executado na área de trabalho e disponível para Windows, macOS e Linux. Ele é compatível com vários idiomas e oferece suporte a extensões de outras linguagens e ambientes de execução. Para instalar e configurar VS Code na sua máquina, consulte Visual Studio Code.
Confira a seguir várias maneiras de associar os Workflows Esquema JSON no VS Code.
Usar o Cloud Code para criar fluxos de trabalho em YAML
O Cloud Code é um conjunto de plug-ins de ambiente de desenvolvimento integrado que facilita a criação, a implantação e a integração de aplicativos com o Google Cloud.
Se você estiver usando o VS Code como seu ambiente de desenvolvimento integrado, poderá usar o Cloud Code a criação de fluxos de trabalho YAML e extrairá automaticamente as Esquema JSON de fluxos de trabalho de SchemaStore.org. Para confirmar que o esquema está sendo aplicado como esperado, crie um fluxo de trabalho YAML em espaço de trabalho ou pasta e confirmar se o preenchimento automático está ocorrendo para Palavras-chave Workflows.
O Cloud Code também oferece suporte a esquemas off-line do Google Cloud e pode ser por quem pode ter restrições de rede ou de ambiente de desenvolvimento integrado. Para mais informações, consulte o seguinte:
- Instalar a extensão do Cloud Code para o VS Code
- Trabalhar com YAML no Cloud Code para VS Code
- Saiba mais sobre o Cloud Code para VS Code
Usar o YAML da RedHat para criar fluxos de trabalho em YAML
Como alternativa ao uso da extensão do Cloud Code para VS Code, é possível usar o extensão YAML da RedHat. Essa extensão é compatível com a linguagem YAML e inclui recursos integrados do suporte a sintaxe. Ele extrai automaticamente o esquema JSON dos fluxos de trabalho do SchemaStore.org.
Depois de instalar a extensão, crie um fluxo de trabalho YAML. Na parte superior deve haver uma Link do arquivo de configuração do Google Cloud Workflows (workflows.json). Se você clique no link, o esquema JSON do Workflows será aberto no editor.
Substituir os formatos de nome de arquivo
Ao usar o Cloud Code ou o YAML do RedHat para criar fluxos de trabalho em YAML,
é possível substituir os formatos de nome de arquivo padrão em que o esquema de fluxos de trabalho é aplicado. É necessário especificar um mapeamento no arquivo
settings.json
. As configurações são escritas em JSON, e você pode revisar e editar o arquivo
diretamente
abrindo no editor do VS Code.
Por exemplo, se você estiver usando a extensão Cloud Code para VS Code, poderá mapear um
formato do arquivo na propriedade cloudcode.yaml.schemas
:
{ "cloudcode.yaml.schemas": { "https://json.schemastore.org/workflows.json": [ "GLOB_PATTERN.yaml", "my-special-workflow.yaml" ] } }
Ou, se você estiver usando a extensão YAML do RedHat, mapeie o formato do nome do arquivo 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 é associado a vários globs usando uma matriz JSON. O esquema precisa ser um caminho relativo, e não absoluto. O esquema pode ser local ou on-line.
Usar o suporte integrado para criar fluxos de trabalho em JSON
É possível usar o suporte integrado no VS Code para associar os Workflows
Esquema JSON especificando o mapeamento no arquivo settings.json
, no
propriedade json.schemas
. Você pode analisar e editar esse arquivo diretamente
abrindo-o no editor do VS Code.
Por exemplo, para extrair o esquema JSON de fluxos de trabalho da 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 é associado a vários globs usando uma matriz JSON. Seu esquema deve ser um caminho relativo, e não um caminho absoluto. O esquema pode ser local ou on-line.
É possível substituir o formato do nome de arquivo. 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 Como editar JSON com o Visual Studio Code.
Associar o esquema JSON do Workflows ao IntelliJ IDEA
O IntelliJ IDEA é um ambiente de desenvolvimento integrado multiplataforma para linguagens de máquina virtual Java. Outras línguas são aceitas por meio de plug-ins. Para instalar e configurar o IntelliJ IDEA na sua máquina, consulte Instalar o IntelliJ IDEA.
Confira a seguir várias maneiras de associar os Workflows Esquema JSON no IntelliJ IDEA.
Usar o Cloud Code para criar fluxos de trabalho em YAML ou JSON
O Cloud Code é um conjunto de plug-ins de IDE que facilita a criação, implantar e integrar aplicativos com o Google Cloud.
Se estiver usando o IntelliJ como seu ambiente de desenvolvimento integrado, você poderá usar o Cloud Code a criação de fluxos de trabalho em YAML ou JSON e extraia automaticamente o esquema JSON do Workflows de SchemaStore.org. Cloud Code oferece suporte a esquemas off-line do Google Cloud e pode ser usado por quem restrições de rede ou de ambiente de desenvolvimento integrado. Para mais informações, consulte as seguintes seções:
- Instalar o plug-in do Cloud Code para IntelliJ
- Trabalhar com YAML no Cloud Code for IntelliJ
- Saiba mais sobre o Cloud Code para IntelliJ
Usar o suporte integrado para criar fluxos de trabalho em YAML ou JSON
O IntelliJ IDEA pode fazer o download e usar esquemas do SchemaStore.org automaticamente. É possível fazer o download do esquema JSON do Workflows e armazená-lo na raiz do projeto ou especificar o URL do recurso para que o IntelliJ IDEA possa fazer o download do esquema automaticamente. Para mapear o esquema, siga as instruções para configurar um esquema JSON personalizado.
Por padrão, os downloads automáticos de esquemas do SchemaStore.org são ativados, e os padrões de nome de arquivo padrão são validados pelo esquema.
Para substituir os padrões de arquivos padrão, depois de acessar Em Mapeamentos de esquema JSON na caixa de diálogo Configurações, faça o seguinte:
- No campo Nome, digite Esquema de fluxos de trabalho.
- No campo Arquivo de esquema ou URL, digite https://json.schemastore.org/workflows.json.
- Na lista Versão do esquema, selecione Esquema JSON versão 7.
- Adicione o Padrão de caminho do arquivo de sua escolha.
Mapeie o esquema por jsonSchema.xml
O código-fonte do IntelliJ IDEA Edição da Comunidade está disponível em https://github.com/JetBrains/intellij-community.
É possível mapear o esquema JSON do Workflows para o IntelliJ IDEA. o editor adicionando uma entrada ao jsonSchemas.xml.
Adicionar a validação de sintaxe do Workflows aos processos de CI/CD
Adicionar a validação de sintaxe aos processos de integração, entrega e implantação contínua (CI/CD, na sigla em inglês) ajuda a reduzir erros durante a integração, o teste, a entrega e a implantação.
Por exemplo, é possível validar dados no JSON do Workflows esquema usando o modelo ajv-cli . Ao instalar a ferramenta, também instale o ajv-formats. Exemplo:
npm install -g ajv-cli ajv-formats
Outras ferramentas que podem ser úteis:
- MegaLinter v8r: MegaLinter é uma ferramenta de código aberto para fluxos de trabalho de CI/CD; O v8r verifica a validade de JSON/YAML se eles tiverem um esquema correspondente definido em SchemaStore.org.
- Validadores JSON: ferramentas de validação JSON categorizadas por linguagem de programação ou plataforma de desenvolvimento.
A seguir
- Blog do Google Cloud: O Workflows recebe um esquema JSON atualizado (em inglês)