הסופר בחר בקרן התוכנה החופשית והפתוחה לקבלת תרומה כחלק מתוכנית "כתיבה בשביל תרומות".
הקדמה
עם כלי הפיתוח מתקדמים לענן, יצירת ואימוץ של פלטפורמות סביבת פיתוח משולבות בענן גדל. סביבות פיתוח משולבות בענן נגישות מכל סוג של מכשיר מודרני דרך דפדפני רשת, והן מציעות מספר יתרונות לתרחישי שיתוף פעולה בזמן אמת. העבודה בסביבת פיתוח משולבת בענן מספקת סביבת פיתוח ובדיקה אחידה עבורך ועבור הצוות שלך, תוך הפחתת חוסר התאימות בין פלטפורמות. מכיוון שהן מבוססות מקורית על טכנולוגיות ענן, הן מסוגלות להשתמש באשכול כדי לבצע משימות, שיכולות לחרוג הרבה מהכוח והאמינות של מחשב פיתוח יחיד.
Eclipse Theia הוא סביבת פיתוח משולבת בענן הניתנת להרחבה שרצה על שרת רחוק ונגישה מדפדפן רשת. מבחינה חזותית, היא מיועדת להיראות ולהתנהג בדיוק כמו Microsoft Visual Studio Code, מה שאומר שהיא תומכת במספר רב של שפות תכנות, יש לה פריסה גמישה, ויש לה מסוף משולב. מה שמפריד את Eclipse Theia מתוכנות סביבת הפיתוח המשולבות בענן האחרות הוא ההרחבות שלה; ניתן לשנות אותה באמצעות הרחבות מותאמות אישית, שמאפשרות לך ליצור סביבת פיתוח משולבת בענן המתאימה לצרכים שלך.
הדרכה
- A DigitalOcean Kubernetes cluster with your connection configured as the
kubectl
default. Instructions on how to configurekubectl
are shown under the Connect to your Cluster step when you create your cluster. To create a Kubernetes cluster on DigitalOcean, read the Kubernetes Quickstart. - התקנת ניהול חבילות Helm 3 על המכשיר המקומי שלך. השלמת שלב 1 של ההדרכה איך להתקין תוכנה על אשכולות Kubernetes עם ניהול חבילות Helm 3.
- התקנת בקר הכניסה של Nginx על האשכול שלך באמצעות Helm כדי להשתמש ב-DNS חיצוני עם משאבי הכניסה. כדי לעשות זאת, עקוב אחרי איך להגדיר כניסה של Nginx על אשכול Kubernetes של DigitalOcean באמצעות Helm.
- A fully registered domain name. This tutorial will use
theia.your_domain
throughout. You can purchase a domain name on Namecheap, get one for free on Freenom, or use the domain registrar of your choice.
שלב 1 — התקנה וחשיפה של Eclipse Theia
להתחיל, תתקינו את Eclipse Theia באשכול Kubernetes שלכם ב-DigitalOcean. לאחר מכן, תציגו אותו בדומיין הרצוי שלכם באמצעות Nginx Ingress.
מאחר שיצרתם שני דוגמאות של הפצות ומשאב כחלק מהנדרשים מראש, תוכלו למחוק אותם בקלות על ידי הרצת הפקודות הבאות:
עבור המדריך הזה, תאחסן את התצורה של ההפצה במכשיר המקומי שלך, בקובץ בשם eclipse-theia.yaml
. צרו אותו באמצעות הפקודה הבאה:
הוסף את השורות הבאות לקובץ:
התצורה הזו מגדירה רווח שמכיל הפצה, שירות ו-Ingress. הרווח נקרא theia
ויכיל את כל האובייקטים ב-Kubernetes הקשורים ל-Eclipse Theia, מופרדים משאר האשכול. ההפצה מורכבת ממופע אחד של תמונת Docker של Theia עם היציאה 3000
מוצגת בקונטיינר. השירות מחפש את ההפצה ומקשקש מחדש את היציאה של הקונטיינר ליציאת HTTP רגילה, 80
, שמאפשר גישה בקלאסטר ל-Eclipse Theia.
ה-Ingress מכיל כלל לספק את השירות ביציאה 80
בחיצוניות בדומיין הרצוי שלך. בהערותיו, הגדר שהבקר Nginx Ingress צריך לשמש לעיבוד בקשות. זכור להחליף את theia.your_domain
בדומיין הרצוי שלך שכבר הפנית לטוען המאזן של האשכול, לאחר מכן שמור וסגור את הקובץ.
שמור וצא מהקובץ.
לאחר מכן, צרו את התצורה ב-Kubernetes על ידי הרצת הפקודה הבאה:
הפלט יראה דומה לזה:
Outputnamespace/theia created
ingress.networking.k8s.io/theia-next created
service/theia-next created
deployment.apps/theia-next created
ניתן לצפות ביצירת ה־pod של Eclipse Theia על ידי הרצת הפקודה הבאה:
הפלט יראה כמו זה:
OutputNAME READY STATUS RESTARTS AGE
theia-next-6f6b98dd4f-qknhb 1/1 Running 0 2m30s
לאחר זמן מסוים, הסטטוס ישתנה ל־RUNNING
, שמשמעו שהתקנת את Eclipse Theia בהצלחה לקבוצת ה־cluster שלך.
נווט לדומיין שלך בדפדפן. תראה את ממשק העורך המותקן של Eclipse Theia:
הצלחת לפרסם את Eclipse Theia באוסף Kubernetes שלך ב־DigitalOcean ולחשוף אותו בדומיין הרצוי שלך עם Ingress. בשלב הבא, תאבטח גישה להתקנת Eclipse Theia שלך על ידי הפעלת אימות לכניסה.
שלב 2 — הפעלת אימות לכניסה עבור הדומיין שלך
בשלב זה, תפעיל אימות שם משתמש וסיסמה עבור ההתקנה שלך של Eclipse Theia. תבצע זאת תחילה על ידי יצירת רשימת שילובי התחברות תקפים באמצעות כלי ה־htpasswd
. לאחר מכן, תיצור סוד קוברנטס המכיל את הרשימה ההיא ותקבע את האימות ב־Ingress כך שביקורות יוכלו להתחבר לפיו. בסופו של דבר, הדומיין שלך יהיה נגיש רק כאשר המבקר מזין שילוב שם משתמש וסיסמה תקפים. זה ימנע מאורחים ומבקרים לא רצויים אחרים מלגשת ל־Eclipse Theia.
htpasswd
כלי מגיע משרת האינטרנט Apache ומשמש ליצירת קבצים המאחסנים רשימות של תרשימי כניסה. פורמט של קבצי htpasswd
הוא תרשים שם_משתמש:סיסמה_מקודדת
לכל שורה, וזהו הפורמט שבו צפוי הרשימה להתאים לו של בקר הכניסה של Nginx.
ראשית, עדכן את מטמון מנהל החבילות:
לאחר מכן, התקן את htpasswd
במערכת שלך על ידי הרצת הפקודה הבאה:
תאחסן את הרשימה בקובץ בשם auth
. צור אותו על ידי הרצת:
על הקובץ הזה להיות בשם auth
מכיוון שבקר הכניסה של Nginx מצפה לסוד לכלול מפתח בשם data.auth
. אם הוא חסר, הבקר יחזיר HTTP 503 עם סטטוס שירות אינו זמין
.
הוסף שם משתמש וסיסמה לרשימה auth
על ידי הרצת הפקודה הבאה:
זכור להחליף שם_משתמש
בשם המשתמש הרצוי שלך. תתבקש לספק סיסמה מתאימה והשילוב יתווסף לתוך קובץ auth
. ניתן לחזור על הפקודה הזו עבור כמה משתמשים שתרצה להוסיף.
הערה: אם המערכת שאתה עובד עליה אינה מכילה את htpasswd
מותקן, תוכל להשתמש בגרסה בנויה על Docker במקום.
תצטרך להתקין Docker על המחשב שלך. להוראות על איך לעשות זאת, בקר במסמכים הרשמיים.
הרץ את הפקודה הבאה כדי להריץ גרסה בנויה על Docker:
זכור להחליף את <username>
עם השם משתמש שברצונך להשתמש בו. תתבקש להזין סיסמה. השילוב המזוהה יתווסף לקובץ auth ידנית. חזור על התהליך הזה כמספר הכניסות שברצונך להוסיף.
כאשר תסיים, צור סוד חדש ב-Kubernetes עם תוכן הקובץ באמצעות הפקודה הבאה:
ניתן לראות את הסוד עם:
הפלט יראה כמו:
לאחר מכן, תצטרך לערוך את ה-Ingress כך שישתמש בסוד. פתח את קובץ התצורה של האימפלמנט לעריכה:
הוסף את השורות שמודגשות לקובץ שלך:
ראשית, בהערה auth-type
, אתה מציין כי סוג האימות הוא בסיסי
. זה אומר כי Nginx ידרוש מהמשתמש להזין שם משתמש וסיסמה. לאחר מכן, ב-auth-secret
, אתה מציין כי הסוד שמכיל את רשימת השילובים התקינים הוא theia-basic-auth
, שיצרת עתה. ההערה שנותרת auth-realm
מציינת הודעה שתוצג למשתמש כהסבר לכך שאימות דרוש. באפשרותך לשנות את ההודעה שמופיעה בשדה זה כרצונך.
שמור וסגור את הקובץ.
כדי להעביר את השינויים לקשת שלך, הרץ את הפקודה הבאה:
תראה את הפלט:
Outputnamespace/theia unchanged
ingress.networking.k8s.io/theia-next configured
service/theia-next unchanged
deployment.apps/theia-next unchanged
נווט לדומיין שלך בדפדפן, שם תתבקש להתחבר.
שלב 3 — החלפת תעודות HTTPS של Let’s Encrypt
בשלב הבא תאבטח את התקנתך של Eclipse Theia על ידי החלפת תעודות של Let’s Encrypt ל-Ingress שלך, שם Cert-Manager יספק באופן אוטומטי. לאחר השלמת שלב זה, התקנת Eclipse Theia שלך תהיה נגישה דרך HTTPS.
פתח את eclipse-theia.yaml
לעריכה:
הוסף את השורות המודגשות לקובץ שלך, וודא שאתה מחליף את התחום המקוםר בשלך:
ראשית, אתה מציין את letsencrypt-prod
ה-ClusterIssuer שיצרת כחלק מהקדימויות כקובע המפיק שימוש בכדי לספק תעודות עבור ה-Ingress הזה. לאחר מכן, בקטע ה-tls
, אתה מציין את התחום הדיוק שצריך להיות מאובטח, כמו גם שם עבור סוד שיכיל את אותן תעודות.
שמור וצא מהקובץ.
החל את השינויים בקראסטר שלך על ידי הרצת הפקודה הבאה:
הפלט יראה כך:
Outputnamespace/theia unchanged
ingress.networking.k8s.io/theia-next configured
service/theia-next unchanged
deployment.apps/theia-next unchanged
זה יקח כמה דקות עד שהתעודות יינתן ויימושך באופן מלא. ניתן למעקב אחר התקדמות התהליך על ידי צפייה בפלט של הפקודה הבאה:
כאשר התהליך מסתיים, סיום הפלט יראה כמו זה:
Output...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal GeneratedKey 42m cert-manager Generated a new private key
Normal Requested 42m cert-manager Created new CertificateRequest resource "theia-prod-3785736528"
Normal Issued 42m cert-manager Certificate issued successfully
רענן את הדומיין בדפדפן שלך. תראה מנעול ירוק בצד שמאל של סרגל הכתובת, המציין שהחיבור מאובטח.
הגדרת את ה-Ingress להשתמש בתעודות Let's Encrypt, מה שהופך את הפריסה שלך של Eclipse Theia ליותר מאובטחת. כעת תוכל לסקור את ממשק המשתמש של Eclipse Theia ברירת המחדל.
שלב 4 — שימוש בממשק של Eclipse Theia
במקטע זה, תתבונן בחלק מהתכונות של ממשק המשתמש של Eclipse Theia.
בצד שמאל של ה-IDE, יש שורה אנכית של ארבעה כפתורים המפעילים את התכונות הנפוצות ביותר בחלון צד.
שורה זו ניתנת להתאמה אישית כך שתוכל להעביר את התצוגות הללו לסדר אחר או להסיר אותן מהשורה. כברירת מחדל, התצוגה הראשונה פותחת את פאנל החקירה המספק ניווט בצורת עץ של מבנה הפרויקט. תוכל לנהל את התיקיות והקבצים שלך כאן — ליצור, למחוק, להעביר ולשנות אותם ככל הצורך.
לאחר יצירת קובץ חדש דרך תפריט ה-קובץ, תראה קובץ ריק פתוח בכרטיסייה חדשה. לאחר השמירה, תוכל לראות את שם הקובץ בפאנל הצד של Explorer. כדי ליצור תיקיות, לחץ ימינה על סרגל הצד של Explorer ולחץ על תיקייה חדשה. תוכל להרחיב תיקייה על ידי לחיצה על שמה וגם לגרור קבצים ותיקיות לחלקים עליונים של ההיררכיה כדי להעביר אותם למיקום חדש.
האפשרות הבאה מספקת גישה לפונקציות חיפוש והחלפה. לאחר מכן, האפשרות הבאה מציגה תצוגה של מערכות בקרת מקור פתוח שעשויות להיות בשימוש, כמו Git.
התצוגה הבאה היא אפשרות הדיבאגר, שמספקת את כל הפעולות הנפוצות לצורך דיבוג בפאנל. תוכל לשמור הגדרות דיבאג בקובץ launch.json
.
האפשרות האחרונה מאפשרת לך לצפות ולהתקין הרחבות:
החלק המרכזי של ממשק המשתמש הגרפי הוא העורך שלך, שתוכל להפריד לכרטיסיות לעריכת קוד שלך. תוכל לשנות את מבנה העריכה שלך למערכת רשת או לקבצים צמודים. כמו כל סביבת פיתוח מודרנית, Eclipse Theia תומכת בהדגשת תחביר עבור קודך.
תוכל לקבל גישה לטרמינל על ידי הקלדת CTRL+SHIFT+`
, או על ידי לחיצה על טרמינל בתפריט העליון ובחירת טרמינל חדש. הטרמינל יפתח בפאנל התחתון ותיקיית העבודה שלו תוגדר למרחב העבודה של הפרויקט, שמכיל את הקבצים והתיקיות המוצגים בפאנל הצד של Explorer.
אם ברצונך להשמיד את הפרוסה של Eclipse Theia בקבוצת השרתים שלך, הרץ את הפקודה הבאה:
נראה שביצעת סקירה גבוהה של ממשק ה- Eclipse Theia וביקשת תכונות נפוצות.
מסקנה
עכשיו יש לך את Eclipse Theia, סביבת פיתוח ענן מתקדמת, מותקנת על מערכת ה- Kubernetes שלך ב-DigitalOcean. גם אתה מאובטח אותה עם תעודת TLS של Let's Encrypt חינמית והגדרת את המופע כך שידרוש התחברות מהמבקר. אתה יכול לעבוד על קוד המקור ומסמכים באופן יחידני או לשתף פעולה עם צוותך. תוכל גם לנסות לבנות גרסה משלך של Eclipse Theia אם תזדקק לפונקציונליות נוספת. למידע נוסף על איך לעשות זאת, עיין ב-מסמכי Theia.