Cloud Code for IntelliJ משתמש בקובצי הגדרה מסוג `skaffold.yaml` כדי לספק חוויית פיתוח חלקה לאפליקציות Kubernetes, וכדי להפוך לאוטומטיות רבות מהמשימות שקשורות ליצירה ולפריסה של אפליקציות Kubernetes. כך Cloud Code יכול לטפל בתהליך העבודה של בנייה, שליחה ופריסה של האפליקציה, ומספק אבני בניין ליצירת צינורות CI/CD.
בדרך כלל, פרויקטים מתחילים להשתמש בהגדרה אחת של skaffold.yaml
כדי לתאר איך לבנות ולפרוס את האפליקציה. ככל שהפרויקט גדל, כדאי לפצל את צינור העיבוד של האפליקציה לחלקים נפרדים.
ב-Cloud Code אפשר להגדיר כמה תלות בהגדרות. אפשר לשים אותן יחד באותו קובץ skaffold.yaml ולהפריד ביניהן באמצעות מפרידי מסמכי YAML (---), או לשים אותן בקובצי skaffold.yaml נפרדים שאליהם יש הפניה מקובץ skaffold.yaml ברמה גבוהה יותר. כדי להפוך הגדרה למודול, צריך לתת לה שם באמצעות השדה .metadata.name.
שימוש במודולים מאפשר לכם לפתח ולנפות באגים בחלקים של האפליקציה באופן עצמאי. אפשר להגדיר יחסי תלות בין קובצי תצורה לבין מודולים ספציפיים.
ניפוי באגים באפליקציות עם מודולים
אתם יכולים לפתח ולנפות באגים באופן איטרטיבי באפליקציה כולה או בקבוצה של מודולים מוגדרים. Cloud Code מנהל את יחסי התלות של המודולים ואת סדר הפריסה שלהם.
איך מתחילים לעבוד עם דוגמה של מודול
כדי לבחור מודולים לאפליקציה, אפשר לעיין במאמר פיתוח חלקים של אפליקציה באופן עצמאי.
אם לא השתמשתם במודולים ואתם רוצים לבדוק את התכונה באמצעות דוגמה, תוכלו לעיין בדוגמה של ספר אורחים, שמחולקת למודולים frontend ו-backend.
דוגמה לאפליקציה ארגונית גדולה שפותחה באמצעות טכנולוגיות ושפות שונות, וכוללת מודולים, אפשר לראות בדוגמה של Bank of Anthos.
תרחישים נפוצים לדוגמה
בקטע הזה מפורטות כמה דוגמאות לתרחישי שימוש נפוצים שממחישים תרחישים שונים שבהם אפשר להשתמש במודולים בסביבת הפיתוח המשולבת (IDE).
פיתוח מיקרו-שירותים
אתה מפתח frontend שעובד בעיקר על מודול frontend. בתור מיקרו-שירות, ל-frontend אין קוד מפורש או תלות בספרייה במאגר backend, אבל הוא דורש ש-backend יופעל ויפעל באשכול.
אתם משתמשים בפרויקט שמכיל הגדרת מודול frontend כדי לפרוס ולנפות באגים מ-IDE של Cloud Code לאשכול פיתוח משותף, שבו צוות ה-Backend פורס גם את השירות שלו. צוות ה-DevOps מתחזק את האשכול המשותף הזה.
ברוב המקרים לא תצטרכו לעבוד עם קוד backend, לנפות בו באגים או לעדכן את ההגדרות של Kubernetes. Cloud Code יוצר ופורס הגדרות אחרות שנדרשות ל-frontend. מגדירים את הגדרות הפריסה של Cloud Code כך שיחזרו רק על המודול frontend.
אפשר גם לפרוס את frontend וגם את backend באשכול מקומי כדי לקבל חוויה איטרטיבית מהירה יותר.
פיתוח וניפוי באגים של מיקרו-שירותים (microservices) חוצי גבולות
כשצריך לנפות באגים בכמה מיקרו-שירותים ביחד, אפשר:
- פותחים את ספריית האב שבה נמצאות כל ספריות המשנה עם קוד המקור של המודולים, ביחס אחת לשנייה.
- בחירת קובץ הבסיס
skaffold.yamlלפריסה (הגדרות) - הגדרת פריסה של Cloud Code כך שתתבצע איטרציה רק במודולים
frontendו-backendשזמינים באופן מקומי (ובמודול ההגדרות המתאים של Kubernetes אם יש בו שינויים).
אפשר גם להשתמש בקובץ שורש skaffold.yaml נפרד לפיתוח מקומי שכולל שרת נתונים סטטי.
עריכת YAML חכמה של מודולים
אתם מהנדסי DevOps שיוצרים מאגר תבניות לצוות של מפתחי מיקרו-שירותים שמשתמשים במודולים. אתם רוצים לוודא שאין שגיאות בהגדרות של המודולים. משתמשים בסביבות פיתוח משולבות של Cloud Code כדי לערוך קובצי הגדרות של skaffold.yaml.