Azure DevOps צעדים ראשונים

כיום כל חברה היא חברה טכנולוגית, ולכן יכולות כדוגמת DevOps הם חלק בלתי נפרד מחדשנות טכנולוגית של כל ארגון, וככל שארגונים יפנימו כי תהליכי הפיתוח הם חשובים מאוד כך הם יהיו בקדמת הטכנולוגיה ויאפשרו שירות טוב יותר.

מאמר שמתמקד ברישום לחשבון DevOps ובאפשרויות השונות של רישום חשבון ומעבדות Azure DevOps.

מהו Azure DevOps

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

באופן כללי, ניתן לסווג כלי DevOps לפי הקטגוריות הבאות של תהליכי פיתוח ופריסת תוכנה:

  • תכנות (Code)  ובשלב זה מבצעים את פיתוח הקוד וסקירה (code review), כולל שילוב של כלים לניהול ומיזוג גרסאות
  • בנייה (Build) באמצעות כלים שונים ולטובת ביצוע continuous integration וכן לקבלת סטטוס של בניית התוכנה
  • בדיקות (Test) לביצוע בדיקות תוכנה ומדידת הביצועים
  • אריזה (Package) לאחסון תוצרי בנייה בינאריים (artifact repository), והכנת היישום לפריסה
  • שחרור גרסאות (Release) ובשלב זה מבצעים ניהול שינויים, אישור הוצאת גרסאות, אוטומציה להוצאה של גרסאות
  • תצורה (Configure) ובמצב זה מגדירים ניהול ותצורה של תשתיות
  • מעקב וניטור (Monitor) ביצועים של היישום בזמן ריצה

למרות שקיימים כלים רבים, ישנן כמה קטגוריות של כלים שהן חיוניות להקמת תשתית DevOps, כדוגמת Docker, Jenkins, Puppet.

מכיוון שמדובר על קטגוריות שונות ועל סדרה של כלים מגוונים, כאן נכנס לתמונה הכלים של Azure DevOps.

Azure DevOps הוא סדרת של שירותי ענן וכלים המיועדים לניהול מחזור הפיתוח במערך DevOps, ובתשתית פתוחה וגמישה התומכת בכל סוג של מערכת ואפליקציה ואינה תלויה בפלטפורמה, אינה תלויה בשפות פיתוח או או אינה תלויה בשירותי ענן, ולכן מאפשרת ניהול משותף של שירותי ענן, שפות פיתוח, פלטפורמות וחשוב מכל שיתוף פעולה בין צוותי פיתוח, צוותי תפעול וצוות בדיקות.

כיום שירות Azure DevOps נחלק למספר רכיבים מרכזיים המספקים את כלל הכלים הנדרשים לביצוע DevOps בארגון.

הכלים הקיימים בשירות Azure DevOps הם:

Azure Boards מאפשר לנהל פרויקטים ותהליכים באמצעות מעקב ודיון של פעולות הצוותים, ניהול באמצעות לוחות שונים כדוגמת לוח Kanban, דיווח לגבי פעולות ודוחות מותאמים באופן אישי.

בין היתר ניתן לבצע את הפעולות הבאות:

  • הוספה ועדכוני של משימות ופעולות
  • הגדרת שאילתות עבור פעולות ויצירת תרשימי סטטוס
  • ניהול Backlog של התהליך או האפליקציה
  • תכנון ספרינטים באמצעות משימות ופעולות
  • ממשך לסקירת המשימות והספרינטים

Azure Repos – שימוש בלתי מוגבל במאגרים (repos) של Git בענן המאפשרים ניהול משותף של קבצים וע"י כל מאפשרים שיתוף פעולה לבניית קוד טוב יותר עם בקשות משיכה וניהול קבצים מתקדם.

ניהול קוד ע"י Repos היא כלי חיוני לפרויקטים מרובי מפתחים, בגלל שמאפשר למפתחים לשתף פעולה בקוד, ולעקוב אחר שינויים שבוצעו.

Azure Repos תומך בשני סוגים של Source Control המאפשרים לבדוק קבצים ולארגן קבצים: Git או TFVC.

הפעולות שניתנות לביצוע הם בין היתר:

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

Azure Pipelines -הרכיב המרכזי שמטרתו היא בניה, בדיקה ופריסה באמצעות תהליכים מבוססים CI\CD שידועים לעבוד עם כל שפה, פלטפורמה וענן.

באמצעות Azure Pipeline ניתן לבנות ולבדוק אוטומטית פרוייקט פיתוח וקוד, ולהנגיש אותו לצוותים אחרים.

Azure Test Plans – פתרון כולל לניהול בדיקות המאפשרות לעקוב ולהעריך את איכות הקוד דרך כל מחזור הפיתוח מול האפליקציה.

Azure Artifacts – מערכת לניהול חבילות פיתוח (packages), המאפשרת יצירה, ניהול ושיתוף חבילות כגון NPM או Nuget עם שאר צוותי הפיתוח.

יתרונות של Azure DevOps

Azure DevOps מביא איתו יתרונות רבים, החל רמת הפיתוח ועד יכולות אבטחה, אלה הם היתרונות המרכזיים:

מהירות פיתוח מאפשרים במצבים של Continuous Delivery לקחת בעלות על שירותים ובהתאם לכך לשחרר עדכונים בצורה מהירה יותר.

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

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

Scaling מאפשר לתשתית כקוד לנהל את סביבות הפיתוח, הבדיקה והייצור שלך באופן חוזר ויעיל יותר.

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

אבטחה מאפשר מדיניות תאימות אוטומטית, כולל בקרות מדויקות וטכניקות ניהול תצורה יכולות למעקב וניטור אחר תהליכי קוד ומניעת בעיות אבטחה שונות.

איך להתחיל Azure DevOps

תחילת העבודה עם Azure DevOps היא יחסית פשוטה ומצריכה ביצוע של מספר שלבים פשוטים יחסית, החל מרישום ע"י חשבון פרטי או עסקי ועד ביצוע מעבדות.

רישום לשירות Azure DevOps נעשה מול הקישור הבא Start Azure DevOps, וניתן לבצע רישום מול חשבון Microsoft פרטי, או חשבון ארגוני וחשבון גיטהאב.

*במידה וישנו חשבון קיים מבצעים לוגין לשירות בלבד

 

לאחר מכן נקליד את שם החשבון הקיים שיש ברשותינו, וכאן חשוב להדגיש כי בכל סוג חשבון נקבל מסך מעט שונה.

במידה ונבחר בחשבון גיטהאב נקבל מסך רישום ולוגין מסוים שמטרתו לחבר את חשבון הגיטהאב מול שירות Azure DevOps.

במידה ונבחר בחשבון ארגוני נקבל מסך רישום ולוגין שונה

טיפ: יש ליצור את הרישום לשירות Azure DevOps עם חשבון ארגוני ולא חשבון אישי וזאת על מנת לנהל את הפרויקטים בצורה נכונה.

בתרחיש שלפנינו נמשיך ברישום מול חשבון ארגוני ונתחיל ביצירת הפרויקט הראשון.

האפשרות היחידה שתופיעה לאחר הרישום היא יצירת פרויקט חדש, ולכן ניצור פרויקט כלשהוא.

דגשים ביצירת פרויקט ראשון:

  • יש ליצור פרויקט Private בכדי לא לחשוף נתונים רגישים באינטרנט
  • יצירת פרויקט ראשוני לאחר רישום אינה מאפשרת בחירת באפשרויות מתקדמות, כדוגמת Version Control או Work Item Process
  • ניתן לשנות הגדרות מתקדמות גם לאחר יצירת פרויקט, כולל יצירת פרויקט ראשוני
  • לאחר יצירת פרויקט ראשוני חשוב לבצע הגדרות ברמת Orgnization, כדוגמת:
    • הגדרת רישוי נדרש
    • הגדרת הרחבות, למשל מתוך המרקט
  • לכל פרויקט ספציפי מומלץ לבצע הגדרות ברמת הפרויקט
    • הרשאות למשתמשים ספציפיים לפי רמת הרשאה נדרשת
    • הגדרת Retention לרכיבים בפרויקט
    • הגדרת רכיבים שבהם יהיה שימוש בפרויקט

חשוב לציין כי הגדרות ברמת Organization והגדרות ברמת פרויקט נעשות לפי דרישות הפרויקט, אך לצד דרישות הפרויקט ישנן דרישות אבטחת מידע ומדיניות ארגונית לגבי תהליכי DevOps שצריכים להיות בכל פרויקט.

מעבדות Azure DevOps LABS

המעבדות של Azure DevOps מאפשרות לפשט ולהאיץ את קצב הלימוד האישי של כל אחד מאיתנו ויכול לסייע גם בפרויקטים בשטח (באופן מסוים), לדעתי, המעבדות של Azure DevOps הם אחת הפלטפורמות למידה החזקות שיש ברשת לביצוע מעבדות DevOps והם מסייעות בהבנה בסיסית ומתקדמת של שירותי Azure DevOps.

במעבדות Azure DevOps ניתן לתרגל אינספור מצבים בסיסיים ומצבים מתקדמים, החל ממעבדות פשוטות של אינטגרציה בין Microsoft Teams לבין Azure DevOps וניהול תהליכים ועד ביצוע אוטומציה מול Redgate SQL.

אז איך מתחילים לבצע מעבדות עם Azure DevOps?

  • מוודאים שישנו חשבון Azure DevOps כלשהוא (כמו זה שיצרנו קודם לכן)
  • ניגשים לפורטל Azure DevOps LABS ומבצעים Sign-Up
  • לאחר מכן בוחרים את המעבדה הרצויה ומומלץ להתחיל עם מעבדה פשוטה
  • במידה ואין ברשותך חשבון Azure (עם קרדיט) ניתן לבצע מעבדות מול מאשבים שהינם ללא עלות, כדוגמת Microsoft Teams או חשבון GitHub וכן הלאה.

המעבדות של Azure DevOps מחולקות לשלושה קטגוריות ראשיות של מעבדות למתחילים, מעבדות מומלצות ומעבדות מתקדמות.

מעבדה שהיא פשוטה ומאפשרת לבין את אופן העבודה של Azure DevOps בצורה כללית היא המעבדה Collaborating using Azure DevOps Wiki, שמאפשרת להבין את חלק קטן של חוויות שיתוף פעולה עבור צוותי פיתוח, בגלל שכל פרויקט תומך כעת ביכולת Wiki, אז ניתן לכתוב דפי ווב שעוזרים לחברי הצוות ולמשתמשים אחרים להבין, להשתמש ולתרום לפרויקט שלך.

מה דעתך?

אתר זה עושה שימוש באקיזמט למניעת הודעות זבל. לחצו כאן כדי ללמוד איך נתוני התגובה שלכם מעובדים.