בדף הזה מפורטים פרטי פרויקט של כתיבה טכנית שאושר להשתתפות בתוכנית Google Season of Docs.
סיכום הפרויקט
- ארגון קוד פתוח:
- פרויקט Jenkins
- כותבים טכניים:
- Zaycodes
- שם הפרויקט:
- Jenkins ב-Kubernetes
- אורך הפרויקט:
- אורך רגיל (3 חודשים)
תיאור הפרויקט
Kubernetes הוא כלי לתזמור קונטיינרים ללא תלות בפלטפורמה, שנוצר על ידי Google ונתמך מאוד על ידי קהילת הקוד הפתוח כפרויקט של Cloud Native Computing Foundation. הוא מאפשר להשתמש במכונות של קונטיינרים ולנהל אותן כדי לשמור על התאמה לעומס (scaling) ועל עמידות בכשלים. השירות גם מטפל במגוון רחב של פעילויות ניהול שבמקרים אחרים היו מחייבים שימוש בפתרונות נפרדים או בקוד מותאם אישית, כולל ניתוב בקשות, גילוי קונטיינרים, בדיקות תקינות ועדכונים בהדרגה (rolling).
Kubernetes תואם לרוב הכלים של CI/CD שמאפשרים למפתחים להריץ בדיקות, לפרוס גרסאות build ב-Kubernetes ולעדכן אפליקציות ללא זמן השבתה. אחד הכלים הפופולריים ביותר ל-CI/CD הוא Jenkins, מהסיבות הבאות: 1. היא חינמית בקוד פתוח. 2. היא ידידותית למשתמש, קלה להתקנה ואינה דורשת התקנות או רכיבים נוספים. 3. גם קל להגדיר, לשנות ולהרחיב את Jenkins. 4. הוא פורס קוד באופן מיידי ומפיק דוחות בדיקה. 5. אפשר להגדיר Jenkins בהתאם לדרישות לשילובים רציפים ולפיתוח רציף (continuous delivery). 6. Jenkins זמין לכל הפלטפורמות ומערכות ההפעלה השונות, בין אם מדובר ב-OS X, Windows או Linux. 7. הוא גם מציע סביבה עסקית עשירה של יישומי פלאגין. מאגר הפלאגינים הנרחב של Jenkins מאפשר גמישות ומאפשר פיתוח, פריסה ואוטומציה בפלטפורמות שונות. 8. רוב תהליך השילוב הוא אוטומטי. כך יש פחות בעיות בשילוב. כך חוסכים זמן וכסף במהלך כל חיי הפרויקט.
הסיבות הבאות הפכו את Jenkins ב-Kubernetes לנושא פופולרי בקרב משתמשי Jenkins. עם זאת, אין כרגע מיקום מרכזי למסמכי עזרה שמתארים את Jenkins ב-Kubernetes, ולכן קשה למשתמשים ב-Jenkins ב-Kubernetes לנווט במסמכים ולמצוא מידע. במסגרת הפרויקט הזה נוצר דף חדש של פתרונות Kubernetes, שבו מתוארים המושגים, השיטות והאפשרויות למשתמשים ב-Kubernetes שמריצים את Jenkins.
מצב נוכחי
יש הרבה מצגות ומאמרים על הפעלת Jenkins ב-Kubernetes, אבל אין מיקום מרכזי שמתאר את Jenkins ב-Kubernetes. זה מקשה על: 1. משתמשים ב-Jenkins ב-Kubernetes יכולים לנווט ולמצוא מידע 2. מעקב אחרי מידע ב-Jenkins ב-Kubernetes, עדכון שלו ותחזוקה שלו
למה המסמכים המוצעים שלך עדיפים על המסמכים הקיימים?
כדי לפתור את הבעיה הקיימת במסמכי התיעוד של Jenkins ב-Kubernetes, אצור דף של פתרונות Kubernetes ב-Jenkins.io לפי המבנה שיצרתי. בדף הפתרונות הזה נצבר חומר קיים ופרויקטים קשורים. הפרויקט הזה מספק את היתרונות הבאים:
- אתר מרכזי עם מידע על Jenkins ב-Kubernetes, שיעזור למשתמשים לשפר את חוויית השימוש.
- בעזרת דף הפתרונות תוכלו לעקוב בקלות אחרי המידע ב-Jenkins ב-Kubernetes, לעדכן אותו ולנהל אותו.
בתור מפתח, ברור לי כמה זה יכול להיות מתסכל כשאתם נתקלים בבעיות ועדיין צריכים לנווט במשך שעות כדי למצוא פיסת מידע אחת, משהו שבדרך כלל היה אמור לקחת כמה דקות למצוא אם המידע היה מובנה היטב. בחרתי לעבוד על הפרויקט הזה כי יצירת דף פתרונות ל-Jenkins ב-Kubernetes תיתן לי הזדמנות לשפר את החוויה של משתמשי Jenkins.
ניתוח
יצרתי מבנה לדף הפתרונות של Kubernetes, שבו אקבץ חלק מהחומרים הקיימים על Jenkins ב-Kubernetes וקישורים למקורות מידע שימושיים. בנוסף, בהתחשב בעובדה שאי אפשר ליצור תיעוד מעולה למשתמשים באמת לפני שתאזינו לאנשים מחוץ לארגון שבאמת משתמשים במוצרים, תלמדו את הבעיות שלהם ותנסו לטפל בהם כמיטב יכולתכם", שיתפתי את המבנה החדש של דף הפתרונות של Kubernetes עם כמה משתמשי Kubernetes בארגון שלי Interswitch, וגם עם קהילת Jenkins כדי לקבל את התגובות שהם רוצים לראות, ולהשפיע על התגובות החדשות במבנה שהם רוצים לראות, עם זאת, לפני תחילת ההטמעה, המנטורים צריכים לאשר ולשנות את המבנה הזה.
יעדי הפרויקט
אפשר ליצור דף חדש של Kubernetes Solutions, בהתאם למבנה הזה בדף Jenkins Solution או נפח אחסון שמתאר את המושגים, הטכניקות והאפשרויות הזמינות למשתמשי Kubernetes שמריצים את Jenkins.