Para proporcionar soporte sintáctico al crear un flujo de trabajo, puedes usar el Esquema JSON de flujos de trabajo en un entorno de desarrollo integrado (IDE), como Visual Studio Code (VS Code) o IntelliJ IDEA. La compatibilidad con la sintaxis incluye el autocompletado, la validación y la documentación intercalada. El esquema puede integrarse en tus procesos de CI/CD.
El esquema JSON de Workflows se escribe en un esquema JSON, un un lenguaje declarativo que te permite anotar y validar documentos JSON. La fuente del esquema se aloja en SchemaStore.org, un repositorio de esquemas para archivos de configuración comunes basados en JSON. Ten en cuenta que los esquemas de SchemaStore.org también se pueden aplicar a los archivos YAML.
Según el IDE o editor que prefieras usar, puedes instalar un complemento o aplicar compatibilidad integrada para usar el esquema de Workflows. El esquema pueden almacenarse localmente en la raíz del proyecto o especificarse a través de sus la URL del recurso en SchemaStore.org.
Formato de nombre de archivo para los archivos de definición de flujo de trabajo
Independientemente del IDE o editor que uses, si usas un complemento o para aplicar automáticamente el esquema de Workflows desde SchemaStore.org, el formato del nombre de archivo para tu archivo de definición de flujo de trabajo debe debe ser de la siguiente manera:
workflows.json
workflows.yaml
workflows.yml
*.workflows.json
*.workflows.yaml
*.workflows.yml
Si usas VS Code o la compatibilidad integrada para aplicar el esquema de Workflows, puedes anular los formatos de nombres de archivo.
Limitaciones
La compatibilidad con la sintaxis a través del esquema JSON de Workflows se enfoca en la finalización automática de las palabras clave que definen un flujo de trabajo. El esquema admite la finalización automática para algunas funciones de biblioteca estándar, pero la compatibilidad es limitada para los nombres de variables dinámicas, las expresiones y otros ayudantes de expresión. El esquema también supone que un flujo de trabajo está completo y no incluye ningún procesamiento posterior, como la combinación de subflujos de trabajo.
Para evitar conflictos de esquemas JSON, te recomendamos que no uses más de una extensión o complemento para la compatibilidad con la sintaxis de Workflows.
Asocia el esquema JSON de flujos de trabajo en VS Code
VS Code es un editor de código fuente que se ejecuta en el escritorio y está disponible para Windows, macOS y Linux. Incluye compatibilidad integrada con varios idiomas y admite extensiones para otros lenguajes y entornos de ejecución. Para instalar y configurar VS Code en tu máquina, consulta Visual Studio Code.
Las siguientes son varias formas en las que puedes asociar los Workflows Esquema JSON en VS Code.
Usa Cloud Code para crear flujos de trabajo en YAML
Cloud Code es un conjunto de complementos de IDE que facilitan la creación, la implementación y la integración de aplicaciones en Google Cloud.
Si usas VS Code como tu IDE, puedes usar Cloud Code cuando tus flujos de trabajo YAML y extraerá automáticamente el archivo Esquema JSON de flujos de trabajo de SchemaStore.org Para confirmar que el esquema se aplica como se espera, crea un flujo de trabajo YAML en un lugar de trabajo o una carpeta de VS Code, y confirma que se realice la finalización automática para las palabras clave de Workflows.
Cloud Code también admite esquemas de Google Cloud sin conexión y puede ser utilizado por quienes tengan restricciones de red o IDE. Para obtener más información, consulta lo siguiente:
- Instala la extensión de Cloud Code para VS Code
- Trabaja con YAML en Cloud Code para VS Code
- Más información sobre Cloud Code para VS Code
Usa YAML de Red Hat para crear flujos de trabajo en YAML
Como alternativa al uso de la extensión de Cloud Code para VS Code, puedes usar la extensión de YAML de RedHat. Esta extensión proporciona compatibilidad con el lenguaje YAML y, además, incluye compatibilidad con la sintaxis de Kubernetes integrada. Extrae automáticamente el esquema JSON de Workflows de SchemaStore.org.
Después de instalar la extensión, crea un flujo de trabajo YAML. En la parte superior del archivo, debería haber un vínculo al archivo de configuración de Workflows de Google Cloud (workflows.json). Si haz clic en el vínculo, se abrirá el esquema JSON de Workflows en VS Code Editor.
Anula los formatos de nombre de archivo
Cuando usas Cloud Code o YAML de Red Hat para crear flujos de trabajo en YAML,
puedes anular los formatos de nombres de archivo predeterminados a los que se aplica el esquema de flujos de trabajo. Debes especificar una asignación en el archivo settings.json
. La configuración se escribe como JSON y puedes revisar y editar este archivo directamente si lo abres en el editor de VS Code.
Por ejemplo, si usas la extensión de Cloud Code para VS Code, puedes asignar un formato de nombre de archivo en la propiedad cloudcode.yaml.schemas
:
{ "cloudcode.yaml.schemas": { "https://json.schemastore.org/workflows.json": [ "GLOB_PATTERN.yaml", "my-special-workflow.yaml" ] } }
O bien, si usas la extensión YAML de RedHat, asigna el formato del nombre de archivo en la propiedad yaml.schemas
:
{ "yaml.schemas": { "https://json.schemastore.org/workflows.json": [ "GLOB_PATTERN.yaml", "my-special-workflow.yaml" ] } }
Los esquemas de la izquierda se aplican a los patrones glob de la derecha; que las se asocia con varios globs mediante un array JSON. Tu esquema debe ser una ruta de acceso relativa y no absoluta. Tu esquema puede ser local o en línea.
Usa la compatibilidad integrada para crear flujos de trabajo en JSON
Puedes usar la compatibilidad integrada en VS Code para asociar el esquema JSON de Workflows especificando la asignación en el archivo settings.json
, en la propiedad json.schemas
. Para revisar y editar este archivo directamente, sigue estos pasos:
abrirlo en el editor de VS Code.
Por ejemplo, para extraer el esquema JSON de Workflows desde SchemaStore.org:
{ "json.schemas": [ { "description": "SchemaStore.org", "fileMatch": [ "workflows.json", "*.workflows.json" ], "url": "https://json.schemastore.org/workflows.json" } ] }
Los esquemas de la izquierda se aplican a los patrones de glob de la derecha. Un esquema se asocia con varios globs mediante un array JSON. Tu esquema debe ser una ruta de acceso relativa y no una ruta de acceso absoluta. El esquema puede ser local o en línea.
Puedes anular el formato del nombre de archivo. Por ejemplo:
{ "json.schemas": [ { "description": "Workflows schema", "fileMatch": [ "GLOB_PATTERN.json", "FILE_NAME.json" ], "url": "https://json.schemastore.org/workflows.json" } ] }
Para obtener más información, consulta Cómo editar JSON con Visual Studio Code.
Asocia el esquema JSON de Workflows en IntelliJ IDEA
IntelliJ IDEA es un IDE multiplataforma para lenguajes de máquina virtual Java. Otra opción lenguajes son compatibles con los complementos. Para instalar y configurar IntelliJ IDEA en tu máquina, consulta Cómo instalar IntelliJ IDEA.
Las siguientes son varias formas en las que puedes asociar los Workflows Esquema JSON en IntelliJ IDEA.
Usa Cloud Code para crear flujos de trabajo en YAML o JSON
Cloud Code es un conjunto de complementos de IDE que facilita la creación, implementar e integrar aplicaciones en Google Cloud.
Si usas IntelliJ como IDE, puedes usar Cloud Code cuando escribas tus flujos de trabajo en YAML o JSON, y este extraerá automáticamente el esquema JSON de Workflows de SchemaStore.org. Cloud Code también es compatible con esquemas de Google Cloud sin conexión y puede ser usado por quienes podrían tienen restricciones de red o de IDE. Para obtener más información, consulta lo siguiente:
- Instala el complemento Cloud Code para IntelliJ
- Trabaja con YAML en Cloud Code para IntelliJ
- Más información sobre Cloud Code para IntelliJ
Usa la compatibilidad integrada para crear flujos de trabajo en YAML o JSON
IntelliJ IDEA puede descargar y usar automáticamente esquemas de SchemaStore.org. Puedes descargar el esquema JSON de Workflows y almacenarlo en la raíz del proyecto o especifica la URL del recurso para que IntelliJ IDEA pueda descargar el esquema automáticamente. Para asignar el esquema, sigue las instrucciones para configurar un esquema JSON personalizado.
De forma predeterminada, descargas automáticas de esquemas desde SchemaStore.org están habilitados y los patrones de nombre de archivo predeterminados se validan según el esquema.
Para anular los patrones de archivos predeterminados, después de navegar a JSON Schema Mappings a través del diálogo Settings, haz lo siguiente:
- En el campo Nombre, escribe Workflows schema.
- En el campo Archivo o URL del esquema, escribe https://json.schemastore.org/workflows.json.
- En la lista Versión del esquema, selecciona Esquema JSON versión 7.
- Agrega un patrón de ruta de acceso al archivo de tu elección.
Asigna el esquema a través de jsonSchema.xml
El código fuente de IntelliJ IDEA Community Edition está disponible en https://github.com/JetBrains/intellij-community.
Para asignar el esquema JSON de Workflows al editor de IntelliJ IDEA, agrega una entrada a jsonSchemas.xml.
Agrega la validación de sintaxis de Workflows a tus procesos de CI/CD
Agregar la validación de sintaxis a tus procesos de integración, entrega y implementación continuas (CI/CD) ayuda a reducir los errores durante la integración, las pruebas, la entrega y la implementación.
Por ejemplo, puedes validar los datos con el JSON de Workflows con el comando ajv-cli herramienta. Ten en cuenta que, cuando instales la herramienta, también debes instalar ajv-formats. Por ejemplo:
npm install -g ajv-cli ajv-formats
Otras herramientas que pueden ser útiles:
- MegaLinter v8r: MegaLinter es una herramienta de código abierto para flujos de trabajo de CI/CD. v8r verifica la validez de los archivos JSON/YAML si tienen un esquema coincidente definido en SchemaStore.org.
- Validadores de JSON: JSON de validación categorizadas por lenguaje de programación o plataforma de desarrollo.
¿Qué sigue?
- Blog de Google Cloud: Workflows obtiene un esquema JSON actualizado