יצירת DevHub ו-Scratch org לתרגול ב-Trailhead
מה הם DevHub ו-Scratch Org ואיך הם עוזרים לנו
DevHub הוא פיצ'ר של סביבת Production או Trailhead אותו ניתן להפעיל כדי שנוכל ליצור Scratch orgs. מרגע שפיצ'ר זה הופעל, לא ניתן לכבות אותו.
Scratch org הוא סוג מיוחד של סביבת Salesforce הניתן ליצירה ומחיקה במהירות. כמה מהר? יצירת Scratch org יכולה לקחת פחות מדקה, ומחיקה שלו היא עניין של שניות. מה שהופך את ה-Scratch orgs לכל כך מועילים למתכנתים היא העובדה שהם נוצרים ריקים לחלוטין מ-Data ו-Metadata, מה שאומר שהם סביבות נקיות לחלוטין עליהם ניתן לבצע פיתוח ללא חשש מתלות בנתונים או מטא-נתונים של סביבת לקוח ספציפית.
בנוסף, ניתן להגדיר עבור Scratch orgs בקלות סוג סביבה (Unlimited, Enterprise, Developer ועוד) ופיצ'רים ספציפיים כמו תמיכה בשפות מסויימות כ-End-User languages או להתקין חבילות כמו Service Cloud ופיצ'רים כמו Knowledge articles, אם עליהם הפיתוח שלנו נסמך.
נקודה אחרונה בנוגע ל-Scratch orgs היא היכולת ליצור אותם באמצעות פקודות מה-Terminal, מה שמאפשר לשלב אותם בצורה חלקה בתוך תהליך CI\CD של DevOps לצורך בדיקות לפני אישור Pull requests לענפי develop ו-master ב-Git.
בגלל הנוחות והקלות של יצירת Scratch orgs, הם נוחים במיוחד ליצירה לצורך תרגול דוגמאות קוד כמו בבלוג זה. יצירת DevHub משלנו תאפשר לנו לאחר מכן בקלות ליצור Scratch org לתרגול באמצעות שורת קוד אחת ב-Terminal ותקל עלינו את הלמידה.
יצירת Trailhead Playground
ראשית נתחיל ביצירת סביבת Trailhead playground שתשמש אותנו כ-Dev Hub ותאפשר לנו ליצור Scratch orgs:
- התחבר ל-Trailhead. אם אין לך חשבון Trailhead, לחץ כאן למדריך לפתיחת חשבון ב-Trailhead וסביבת Playground ראשונה.
- לחץ על השם שלך בפינה הימנית העליונה של המסך, לצד תמונת הפרופיל שלך, ומהתפריט בחר Hands-On Orgs.
- לחץ על הכפתור Create Playground.
- הענק שם לסביבה החדשה, למשל My DevHub, ולחץ על Create.
- המתן ש-Salesforce יסיימו ליצור עבורך את הסביבה. זה עשוי לקחת כמה דקות.
- לאחר שהסביבה נוצרה, לחץ על כפתור ה-Launch ליד שם הסביבה כדי לפתוח אותה.
- לאחר שהסביבה נפתחה, לחץ על הלשונית Get Your Login Credentials.
- בלשונית Get Your Login Credentials, העתק את שם המשתמש שלך ושמור אותו בצד, אנחנו נזדקק לו בהמשך.
- לחץ על הכפתור Reset My Password. בחלונית שנפתחה לחץ OK.
- פתח את תיבת האימייל אתה נרשמת ל-Trailhead, פתח את האימייל שכותרתו Finish resetting your Your Developer Edition password.
- לחץ על הקישור במייל לאיפוס סיסמה.
- בלשונית הדפדפן שנפתחה, לחץ על Reset Password.
- במסך Change Your Password בחר סיסמה חדשה ולחץ על הכפתור Change Password.
מעולה! יצרנו סביבת Playground חדשה. עכשיו נגדיר אותה כ-Dev Hub כדי שנוכל ליצור ממנה Scratch Orgs.
הגדרת סביבת Trailhead כ-DevHub
- בסביבת ה-Trailhead החדשה שיצרנו, לחץ על סמל גלגל השיניים ליד סמל הפעמון ותמונת הפרופיל שלך, ובחר Setup.
- בלשונית שנפתחה, מצד שמאל למעלה, בשדה החיפוש Quick Find, הזן את המילים Dev Hub ולחץ על התוצאה Dev Hub תחת Development.
- העבר את הכפתור Enable Dev Hub למצב Enabled. שים לב! מרגע שהפעלת את האפשרות הזאת, לא ניתן לבטל אותה!
- העבר את הכפתור Enable Unlocked Packages and Second-Generation Managed Packages למצב Enabled. שים לב! מרגע שהפעלת את האפשרות הזאת, לא ניתן לבטל אותה!
- מעולה! כעת ניצור פרויקט חדש ב-Visual Studio Code ונחבר אליו את סביבת ה-DevHub החדשה שלנו.
יצירת פרויקט SFDX חדש ב-Visual Studio Code
ליצירת פרויקט SFDX חדש ב-VS Code בצע את השלבים הבאים:
- פתח את Visual Studio Code.
- לחץ במקלדת על קיצור הדרך Ctrl + Shift + P לפתיחת פלטת הפקודות ב-VS Code.
- הקלד את המילה Project ולחץ על האופציה SFDX: Create Project.
- בחר תבנית פרויקט Standard.
- תן שם לפרויקט שלך, לדוגמה MyCoolProject.
- בחר תיקיה בה תרצה לשמור את הפרויקט החדש שלך.
- אם VS Code מציג מסך שכותרתו Do you trust the authors of the files in this folder? לחץ על הכפתור Yes, I trust the authors.
- מעולה! כעת בוא נחבר את סביבת ה-DevHub שלנו לפרויקט שלנו.
חיבור סביבת ה-DevHub שלנו לפרויקט כ-Default DevHub Username
- אם ה-Terminal שלך לא פתוח ב-VS Code, הקש את קיצור הדרך Ctrl + ~ כדי לפתוח אותו.
- הקלד את הפקודה הבאה ב-Terminal כדי לפתוח ולחבר את ה-Trailhead playground שיצרנו לפרויקט שלנו כ-Dev Hub.
שים לב לדגל -d, דגל זה מגדיר את ה-Org שנתחבר אליו, ה-Trailhead playground שלנו, כסביבת ברירת המחדל של הפרויקט ליצירת Scratch orgs.sfdx org:login:web -d -a MyDevHub
בנוסף, הדגל -a מאפשר לנו להגדיר Alias, כינוי, לסביבה שלנו. אם לא היינו משתמשים ב-Alias היינו צריכים להקליד את שם המשתמש בסביבה איתו אנחנו מתחברים בפורמט Email מסורבל כשהיינו רוצים להתייחס לסביבה בפקודות השונות. - בלשונית הדפדפן שנפתחה הזן את שם המשתמש ששמרת בצד קודם, ואת הסיסמה שלך לסביבת ה-Trailhead playground. אם הדפדפן מציג לך הודעת Allow Access? לחץ על הכפתור Allow. במסוף אתה תראה הודעת הצלחה כשתכנס לסביבה.
- מעולה! חיברנו את סביבת ה-DevHub שלנו לפרויקט. כעת כל שנשאר לנו לעשות הוא ליצור ממנה סביבת Scratch org חדשה.
יצירת סביבת Scratch Org חדשה
כדי ליצור Scratch org בצע את השלבים הבאים:
- בפרויקט שלנו, תחת התיקיה config ישנו קובץ בשם project-scratch-def.json. קובץ זה מכיל את ההגדרות עבור סביבות Scratch orgs בפרויקט שלנו. הקוד בקובץ אמור להיראות בערך ככה:
{ "orgName": "Demo company", "edition": "Developer", "features": ["EnableSetPasswordInApi"], "settings": { "lightningExperienceSettings": { "enableS1DesktopEnabled": true }, "mobileSettings": { "enableS1EncryptedStoragePref2": false } } }
כדי להתחיל בצורה נקייה, שנה את שם ה-orgName לערך אחר, כמו למשל My Cool Company, ומחק את הערך "EnableSetPasswordInApi" כך שהמערך תחת features ישאר ריק.
{ "orgName": "My Cool Company", "edition": "Developer", "features": [], "settings": { "lightningExperienceSettings": { "enableS1DesktopEnabled": true }, "mobileSettings": { "enableS1EncryptedStoragePref2": false } } }
- כדי ליצור Scratch org חדש, הקלד את הפקודה הבאה ב-Terminal:
sfdx org:create:scratch -f config/project-scratch-def.json -d -a MyScratchOrg
הפקודה org:create:scratch יוצרת סביבת Scratch org חדשה ב-Salesforce. הדגל d מציין שה-Org הזה הוא Org ברירת המחדל של הפרויקט כרגע, וכל הפקודות בהן נדרש Org יופנו אליו, הדגל f מפנה את הפקודה לקובץ ההגדרות עבור Scratch org בפרויקט שלנו והדגל a מציין Alias להגדרת כינוי ל-Scratch org שלנו.
- כדי לפתוח את סביבת ה-Scratch org שיצרנו בדפדפן, הקלד את הפקודה הבאה:
מאחר והגדרנו את ה-Scratch org שלנו כסביבת ברירת המחדל של הפרויקט, הפקודה Open לא מצריכה שנציין בה אותו כסביבת היעד.sfdx org:open
- זהו! יצרנו סביבת Scratch org חדשה. בכל פעם שנרצה ליצור סביבה חדשה, בין אם זה בפרויקט חדש או קיים, כל שנצטרך לעשות הוא לוודא שה-DevHub שלנו מוגדרת בפרויקט, ולהקליד פקודה אחת מהירה ליצירת Scratch org חדש!
מחיקת סביבת Scratch Org
יצירה ומחיקה של Scratch orgs הן פעולות שגרתיות בתהליך הפיתוח שלנו ב-Salesforce. כדי למחוק Scratch org נרצה לבצע שני שלבים:
- לצפות ברשימת הסביבות המקושרות לפרויקט שלנו. כדי לעשות זאת נריץ את הפקודה הבאה:
הפלט של הפקודה יציג לנו שתי טבלאות: טבלת Non-scratch orgs וטבלת Scratch orgs. מטבלת ה-Scratch orgs נוכל להעתיק את ה-Alias של ה-Scratch org אותו נרצה למחוק.sfdx org:list
- כדי למחוק Scratch org הרץ את הפקודה הבאה ב-Terminal יחד עם ה-Alias שהעתקנו מטבלת ה-Scratch orgs בשלב הקודם:
הדגל -o מציין את ה-Alias או ה-Username של ה-org שאנחנו רוצים למחוק.sfdx org:delete:scratch -o MyScratchOrg
ניתן להוסיף לפקודה הזאת את הדגל -p כדי שה-Terminal לא יציג לנו הודעה לאישור סופי לפני מחיקה של ה-Scratch org. השתמש באופציה זאת בזהירות, על מנת שלא תמחק בטעות Scratch org שיש לך עליו Metadata שעוד לא משכת לפרויקט המקומי שלך.
זהו! בפוסט זה למדנו איך להגדיר סביבת Trailhead כ-DevHub, לקשר אותה לפרויקט שלנו, ליצור ממנה Scratch org ולמחוק אותו בסיום השימוש.