Menggunakan skema JSON Workflows di IDE Anda

Untuk memberikan dukungan sintaksis saat membuat alur kerja, Anda dapat menggunakan skema JSON alur kerja di lingkungan pengembangan terintegrasi (IDE) seperti Visual Studio Code (VS Code) atau Intellij IDEA. Dukungan sintaksis mencakup pelengkapan otomatis, validasi, dan dokumentasi inline. Skema ini juga dapat diintegrasikan ke dalam proses CI/CD Anda.

Skema JSON Workflows ditulis dalam Skema JSON, bahasa deklaratif yang dapat Anda gunakan untuk memberi anotasi dan memvalidasi dokumen JSON. Sumber skema dihosting di SchemaStore.org, repositori skema untuk file konfigurasi berbasis JSON umum. Perhatikan bahwa skema dari SchemaStore.org juga dapat diterapkan ke file YAML.

Bergantung pada IDE atau editor yang ingin digunakan, Anda dapat menginstal plugin atau menerapkan dukungan bawaan untuk menggunakan skema Workflows. Skema dapat disimpan secara lokal di root project Anda atau dapat ditentukan melalui URL resource-nya di SchemaStore.org.

Format nama file untuk file definisi alur kerja

Terlepas dari IDE atau editor yang digunakan, jika Anda menggunakan plugin atau ekstensi untuk menerapkan skema Workflows secara otomatis dari SchemaStore.org, format nama file untuk file definisi alur kerja Anda harus seperti berikut:

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

Jika Anda menggunakan VS Code, atau jika menggunakan dukungan bawaan untuk menerapkan skema Alur kerja, Anda dapat mengganti format nama file.

Batasan

Dukungan sintaksis melalui skema JSON Workflows berfokus pada pelengkapan otomatis kata kunci yang menentukan alur kerja. Skema ini mendukung pelengkapan otomatis untuk beberapa fungsi library standar, tetapi ada dukungan terbatas untuk nama variabel dinamis, ekspresi, dan helper ekspresi lainnya. Skema ini juga mengasumsikan bahwa alur kerja selesai dan tidak memperhitungkan pasca-pemrosesan seperti penggabungan sub-alur kerja.

Untuk menghindari konflik skema JSON, sebaiknya jangan gunakan lebih dari satu ekstensi atau plugin untuk dukungan sintaksis Workflows.

Mengaitkan skema JSON Workflows di VS Code

VS Code adalah editor kode sumber yang berjalan di desktop Anda dan tersedia untuk Windows, macOS, dan Linux. Alat ini dilengkapi dengan dukungan bawaan untuk beberapa bahasa dan mendukung ekstensi untuk bahasa lain serta runtime. Untuk menginstal dan menyiapkan VS Code di komputer Anda, lihat Visual Studio Code.

Berikut adalah berbagai cara untuk mengaitkan skema JSON Workflows di VS Code.

Menggunakan Cloud Code untuk membuat alur kerja pada YAML

Cloud Code adalah rangkaian plugin IDE yang mempermudah pembuatan, deploy, dan integrasi aplikasi dengan Google Cloud.

Jika menggunakan VS Code sebagai IDE, Anda dapat menggunakan Cloud Code saat menulis alur kerja YAML dan akan secara otomatis mengambil skema JSON Alur Kerja dari SchemaStore.org. Untuk mengonfirmasi bahwa skema diterapkan seperti yang diharapkan, buat alur kerja YAML di ruang kerja atau folder VS Code, dan pastikan bahwa pelengkapan otomatis terjadi untuk kata kunci alur kerja.

Cloud Code juga mendukung skema Google Cloud offline, dan dapat digunakan oleh mereka yang mungkin memiliki batasan jaringan atau IDE. Untuk mengetahui informasi selengkapnya, lihat referensi berikut:

Menggunakan YAML dari RedHat untuk membuat alur kerja dalam YAML

Selain menggunakan ekstensi Cloud Code for VS Code, Anda dapat menggunakan ekstensi YaML by RedHat. Ekstensi ini memberikan dukungan bahasa YAML dan menyertakan dukungan sintaksis Kubernetes bawaan. Metode ini secara otomatis mengambil skema JSON Workflows dari SchemaStore.org.

Setelah menginstal ekstensi, buat alur kerja YAML. Di bagian atas file, akan ada link file konfigurasi Google Cloud Workflows (workflows.json). Jika Anda mengklik link, skema JSON Workflows akan terbuka di editor VS Code.

Mengganti format nama file

Saat menggunakan Cloud Code atau YAML dari RedHat untuk membuat alur kerja dalam YAML, Anda dapat mengganti format nama file default yang digunakan oleh skema Workflows. Anda harus menentukan pemetaan dalam file settings.json. Setelan ditulis sebagai JSON dan Anda dapat meninjau serta mengedit file ini secara langsung dengan membukanya di editor VS Code.

Misalnya, jika menggunakan ekstensi Cloud Code untuk VS Code, Anda dapat memetakan format nama file di bagian properti cloudcode.yaml.schemas:

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

Atau, jika Anda menggunakan YAML dari ekstensi RedHat, petakan format nama file di bagian properti yaml.schemas:

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

Skema di sebelah kiri diterapkan untuk pola glob di sebelah kanan; setiap skema dikaitkan dengan beberapa glob menggunakan array JSON. Skema Anda harus berupa jalur relatif dan bukan jalur absolut. Skema Anda bisa lokal atau online.

Menggunakan dukungan bawaan untuk membuat alur kerja di JSON

Anda dapat menggunakan dukungan bawaan di VS Code untuk mengaitkan skema JSON Workflows dengan menentukan pemetaan dalam file settings.json, di bagian properti json.schemas. Anda dapat meninjau dan mengedit file ini secara langsung dengan membukanya di editor VS Code.

Misalnya, untuk menarik skema JSON Workflows dari SchemaStore.org:

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

Skema di sebelah kiri diterapkan untuk pola glob di sebelah kanan; skema dikaitkan dengan beberapa glob menggunakan array JSON. Skema Anda harus berupa jalur relatif, bukan jalur absolut. Skema Anda bisa lokal atau online.

Anda dapat mengganti format nama file. Contoh:

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

Untuk mengetahui informasi selengkapnya, lihat Mengedit JSON dengan Kode Visual Studio.

Mengaitkan skema JSON Workflows di IntelliJ IDEA

IntelliJ IDEA adalah IDE lintas platform untuk bahasa Java Virtual Machine. Bahasa lain didukung melalui plugin. Untuk menginstal dan menyiapkan IntelliJ IDEA di komputer Anda, lihat Menginstal IntelliJ IDEA.

Berikut adalah berbagai cara untuk mengaitkan skema JSON Workflows di IntelliJ IDEA.

Menggunakan Cloud Code untuk membuat alur kerja dalam YAML atau JSON

Cloud Code adalah rangkaian plugin IDE yang mempermudah pembuatan, deploy, dan integrasi aplikasi dengan Google Cloud.

Jika menggunakan IntelliJ sebagai IDE, Anda dapat menggunakan Cloud Code saat menulis alur kerja dalam YAML atau JSON, yang akan secara otomatis menarik skema JSON Workflows dari SchemaStore.org. Cloud Code juga mendukung skema Google Cloud offline, dan dapat digunakan oleh pengguna yang mungkin memiliki batasan jaringan atau IDE. Untuk informasi selengkapnya, lihat referensi berikut:

Menggunakan dukungan bawaan untuk membuat alur kerja dalam YAML atau JSON

IntelliJ IDEA dapat mendownload dan menggunakan skema dari SchemaStore.org secara otomatis. Anda dapat mendownload skema JSON Workflows dan menyimpannya di root project atau menentukan URL resource agar IntelliJ IDEA dapat mendownload skema secara otomatis. Untuk memetakan skema, ikuti petunjuk untuk mengonfigurasi skema JSON kustom.

Secara default, download skema otomatis dari SchemaStore.org diaktifkan dan pola nama file default divalidasi terhadap skema.

Untuk mengganti pola file default, setelah membuka Pemetaan Skema JSON melalui dialog Setelan, lakukan hal berikut:

  1. Di kolom Name, ketik Workflows schema.
  2. Di kolom Schema file or URL, ketik https://json.schemastore.org/workflows.json.
  3. Dalam daftar Schema version, pilih JSON Schema version 7.
  4. Tambahkan Pola jalur file pilihan Anda.

Petakan skema melalui jsonSchema.xml

Kode sumber Edisi Komunitas IntelliJ IDEA tersedia melalui https://github.com/JetBrains/intellij-community.

Anda dapat memetakan skema JSON Workflows untuk editor IntelliJ IDEA dengan menambahkan entri ke jsonSchemas.xml.

Menambahkan validasi sintaksis Workflows ke proses CI/CD

Menambahkan validasi sintaksis ke proses continuous integration, delivery, dan deployment (CI/CD) membantu mengurangi error selama integrasi, pengujian, pengiriman, dan deployment.

Misalnya, Anda dapat memvalidasi data berdasarkan skema JSON Workflows menggunakan alat ajv-cli. Perlu diperhatikan bahwa saat menginstal alat ini, instal juga ajv-formats. Misalnya:

npm install -g ajv-cli ajv-formats

Alat lain yang mungkin berguna:

  • MegaLinter v8r—MegaLinter adalah alat open source untuk alur kerja CI/CD; v8r memeriksa validitas file JSON/YAML jika memiliki skema pencocokan yang ditentukan di SchemaStore.org.
  • Validator JSON—Alat validasi JSON yang dikategorikan berdasarkan bahasa pemrograman atau platform pengembangan.

Langkah selanjutnya