שימוש בסכימת JSON של Workflows בסביבת הפיתוח המשולבת (IDE)

כדי לספק תמיכה בתחביר כשיוצרים תהליך עבודה, אפשר להשתמש בסכמת JSON של Workflows בסביבת פיתוח משולבת (IDE) כמו Visual Studio Code (VS Code) או Intellij IDEA. התמיכה בתחביר כוללת השלמה אוטומטית, אימות ותיעוד מוטבע. אפשר גם לשלב את הסכימה בתהליכי ה-CI/CD.

סכימת ה-JSON של Workflows כתובה ב-JSON Schema, שפה דקלרטיבית שמאפשרת להוסיף הערות למסמכי JSON ולאמת אותם. מקור הסכימה מתארח ב-SchemaStore.org, מאגר של סכימות לקובצי הגדרות נפוצים מבוססי-JSON. שימו לב שאפשר להחיל סכימות מ-SchemaStore.org גם על קובצי YAML.

בהתאם לסביבת הפיתוח המשולבת או לעורך שבהם אתם מעדיפים להשתמש, אתם יכולים להתקין תוסף או להשתמש בתמיכה מובנית כדי להשתמש בסכימת Workflows. אפשר לאחסן את הסכימה באופן מקומי בספריית הבסיס של הפרויקט, או לציין אותה באמצעות כתובת ה-URL של המשאב שלה ב-SchemaStore.org.

פורמט שם הקובץ של קובצי הגדרות של תהליכי עבודה

לא משנה באיזה IDE או עורך אתם משתמשים, אם אתם משתמשים בפלאגין או בתוסף כדי להחיל באופן אוטומטי את סכימת Workflows מ-SchemaStore.org, פורמט שם הקובץ של קובץ הגדרת זרימת העבודה צריך להיות כזה:

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

אם אתם משתמשים ב-VS Code, או אם אתם משתמשים בתמיכה מובנית כדי להחיל את סכימת Workflows, אתם יכולים לשנות את פורמטי שמות הקבצים.

מגבלות

התמיכה בתחביר דרך סכימת ה-JSON של Workflows מתמקדת בהשלמה האוטומטית של מילות מפתח שמגדירות תהליך עבודה. הסכימה תומכת בהשלמה אוטומטית של חלק מהפונקציות של ספריית התקנים, אבל יש תמיכה מוגבלת בשמות של משתנים דינמיים, בביטויים ובכלי עזר אחרים לביטויים. הסכימה מניחה גם שתהליך העבודה הושלם, ולא מתייחסת לעיבוד שאחרי, כמו שילוב של תהליכי משנה.

כדי למנוע התנגשויות בסכימת JSON, מומלץ לא להשתמש ביותר מתוסף אחד לתמיכה בתחביר של Workflows.

קישור סכימת ה-JSON של Workflows ב-VS Code

‫VS Code הוא עורך קוד מקור שפועל במחשב שלכם וזמין ל-Windows,‏ macOS ו-Linux. הוא כולל תמיכה מובנית בכמה שפות, ותומך בתוספים לשפות וזמני ריצה אחרים. הוראות להתקנה ולהגדרה של VS Code במחשב זמינות במאמר Visual Studio Code.

בהמשך מפורטות כמה דרכים לשייך את סכימת ה-JSON של Workflows ב-VS Code.

שימוש ב-Cloud Code ליצירת תהליכי עבודה ב-YAML

Cloud Code הוא קבוצה של פלאגינים ל-IDE שמקלים על יצירה, פריסה ושילוב של אפליקציות עם Google Cloud.

אם אתם משתמשים ב-VS Code כסביבת הפיתוח המשולבת (IDE), אתם יכולים להשתמש ב-Cloud Code כשאתם יוצרים את תהליכי העבודה שלכם ב-YAML, והוא ימשוך באופן אוטומטי את סכמת ה-JSON של Workflows מ-SchemaStore.org. כדי לוודא שהסכימה מוחלת כמו שצריך, יוצרים תהליך עבודה ב-YAML בסביבת עבודה או בתיקייה של VS Code, ומוודאים שההשלמה האוטומטית מתבצעת עבור מילות מפתח של Workflows.

בנוסף, Cloud Code תומך בסכימות Google Cloud אופליין, ואפשר להשתמש בו גם אם יש הגבלות על הרשת או על סביבת הפיתוח המשולבת (IDE). מידע נוסף זמין במאמרים הבאים:

שימוש ב-YAML של RedHat כדי ליצור תהליכי עבודה ב-YAML

במקום להשתמש בתוסף Cloud Code ל-VS Code, אפשר להשתמש בתוסף YAML של RedHat. התוסף הזה מספק תמיכה בשפת YAML וכולל תמיכה מובנית בתחביר של Kubernetes. הוא שולף אוטומטית את סכימת ה-JSON של Workflows מ-SchemaStore.org.

אחרי שמתקינים את התוסף, יוצרים תהליך עבודה ב-YAML. בחלק העליון של הקובץ, אמור להיות קישור לקובץ התצורה של Google Cloud Workflows‏ (workflows.json). אם לוחצים על הקישור, סכמת ה-JSON של Workflows נפתחת בעורך VS Code.

שינוי הפורמטים של שמות הקבצים

כשמשתמשים ב-Cloud Code או ב-YAML של RedHat כדי ליצור תהליכי עבודה ב-YAML, אפשר לשנות את פורמטי שמות הקבצים שמוגדרים כברירת מחדל, שסכמת Workflows מוחלת עליהם. צריך לציין מיפוי בקובץ settings.json. ההגדרות נכתבות כ-JSON, ואפשר לבדוק ולערוך את הקובץ הזה ישירות על ידי פתיחתו בעורך VS Code.

לדוגמה, אם אתם משתמשים בתוסף Cloud Code ל-VS Code, אתם יכולים למפות פורמט של שם קובץ במאפיין cloudcode.yaml.schemas:

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

לחלופין, אם אתם משתמשים בתוסף YAML של RedHat, אתם יכולים למפות את פורמט שם הקובץ במאפיין yaml.schemas:

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

הסכימות בצד ימין מוחלות על דפוסי ה-glob בצד שמאל. כל סכימה משויכת לכמה דפוסי glob באמצעות מערך JSON. הסכימה צריכה להיות נתיב יחסי ולא נתיב מוחלט. הסכימה יכולה להיות מקומית או באינטרנט.

שימוש בתמיכה מובנית ליצירת תהליכי עבודה ב-JSON

אפשר להשתמש בתמיכה המובנית ב-VS Code כדי לשייך את סכימת ה-JSON של Workflows על ידי ציון המיפוי בקובץ settings.json, במאפיין json.schemas. אתם יכולים לבדוק ולערוך את הקובץ הזה ישירות על ידי פתיחתו בכלי העריכה של VS Code.

לדוגמה, כדי לשלוף את סכימת ה-JSON של Workflows מ-SchemaStore.org:

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

הסכימות בצד ימין מוחלות על דפוסי ה-glob בצד שמאל. סכימה משויכת לכמה דפוסי glob באמצעות מערך JSON. הסכימה צריכה להיות נתיב יחסי ולא נתיב מוחלט. הסכימה יכולה להיות מקומית או באינטרנט.

אפשר לשנות את פורמט שם הקובץ. לדוגמה:

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

מידע נוסף זמין במאמר בנושא עריכת JSON באמצעות Visual Studio Code.

קישור סכימת ה-JSON של Workflows ב-IntelliJ IDEA

‫IntelliJ IDEA היא סביבת פיתוח משולבת (IDE) חוצת-פלטפורמות לשפות של מכונה וירטואלית של Java. יש תמיכה בשפות אחרות באמצעות תוספים. כדי להתקין את IntelliJ IDEA במחשב ולהגדיר אותו, אפשר לעיין במאמר התקנה של IntelliJ IDEA.

יש כמה דרכים לשייך את סכימת ה-JSON של Workflows ב-IntelliJ IDEA.

שימוש ב-Cloud Code ליצירת תהליכי עבודה ב-YAML או ב-JSON

Cloud Code הוא קבוצה של פלאגינים ל-IDE שמקלים על יצירה, פריסה ושילוב של אפליקציות עם Google Cloud.

אם אתם משתמשים ב-IntelliJ כסביבת הפיתוח המשולבת (IDE), אתם יכולים להשתמש ב-Cloud Code כשאתם יוצרים את תהליכי העבודה ב-YAML או ב-JSON, והוא ימשוך באופן אוטומטי את סכמת ה-JSON של Workflows מ-SchemaStore.org. בנוסף, Cloud Code תומך בסכימות Google Cloud אופליין, ויכול לשמש משתמשים שיש להם הגבלות על הרשת או על סביבת הפיתוח המשולבת (IDE). מידע נוסף אפשר לקרוא במאמרים הבאים:

שימוש בתמיכה המובנית ליצירת תהליכי עבודה ב-YAML או ב-JSON

‫IntelliJ IDEA יכול להוריד באופן אוטומטי סכימות מ-SchemaStore.org ולהשתמש בהן. אפשר להוריד את סכימת ה-JSON של Workflows ולאחסן אותה בספריית הבסיס של הפרויקט, או לציין את כתובת ה-URL של המשאב כדי ש-IntelliJ IDEA יוכל להוריד את הסכימה באופן אוטומטי. כדי למפות את הסכימה, פועלים לפי ההוראות להגדרת סכימת JSON בהתאמה אישית.

כברירת מחדל, ההורדות האוטומטיות של סכימות מ-SchemaStore.org מופעלות, ותבניות שמות הקבצים שמוגדרות כברירת מחדל מאומתות מול הסכימה.

כדי לשנות את דפוסי ברירת המחדל של הקבצים, אחרי שעוברים אל מיפויים של סכימת JSON דרך תיבת הדו-שיח הגדרות, פועלים לפי השלבים הבאים:

  1. בשדה Name, כותבים Workflows schema.
  2. בשדה קובץ סכימה או כתובת URL, מקלידים https://json.schemastore.org/workflows.json.
  3. ברשימה Schema version, בוחרים באפשרות JSON Schema version 7.
  4. מוסיפים תבנית של נתיב קובץ לפי בחירתכם.

מיפוי הסכימה באמצעות jsonSchema.xml

קוד המקור של IntelliJ IDEA Community Edition זמין בכתובת https://github.com/JetBrains/intellij-community.

כדי למפות את סכימת ה-JSON של Workflows לעורך IntelliJ IDEA, צריך להוסיף רשומה ל-jsonSchemas.xml.

הוספת אימות תחביר של Workflows לתהליכי CI/CD

הוספת אימות תחביר לתהליכי האינטגרציה הרציפה, הפיתוח הרציף והפריסה (CI/CD) עוזרת לצמצם את השגיאות במהלך האינטגרציה, הבדיקה, הפיתוח והפריסה.

לדוגמה, אפשר לאמת נתונים מול סכמת ה-JSON של Workflows באמצעות הכלי ajv-cli. שימו לב: כשמתקינים את הכלי, צריך להתקין גם את ajv-formats. לדוגמה:

npm install -g ajv-cli ajv-formats

כלים נוספים שעשויים להיות שימושיים:

  • MegaLinter v8r –‏ MegaLinter הוא כלי בקוד פתוח לזרימות עבודה של CI/CD. הגרסה v8r בודקת את התוקף של קובצי JSON/YAML אם מוגדרת להם סכימה תואמת ב-SchemaStore.org.
  • כלי אימות JSON – כלים לאימות JSON שמסווגים לפי שפת תכנות או פלטפורמת פיתוח.

המאמרים הבאים