אז מה זה ה–InRelease?

ספטמבר 1, 2013

אין תגובות

הפוסט שכתבתי בנושא זה פורסם ב – MSDN Blog, ניתן לקרוא אותו כאן

לנוחיותכם אני מפרסם עותק שלו גם בבלוג.

תיהנו!!!

===============================================================================

בגרסת ה – 2013 אנחנו הולכים להכיר כלי חדש אותו מיקרוסופט רכשה לאחרונה, שמו InRelease.images

ה – InRelease בה להשלים קובייה מאוד חשובה בעולם ה – DevOps, הוא בה להשלים לנו את ניהול ה – Deployment לסביבות השונות: Dev, QA, Staging, Production וכו’.

ה – InRelease לא בה להחליף לנו את ה – Team Build אלה להשלים אותו, אם עד היום הינו צריכים להשתמש בבילד מרמת קימפול הקוד ועד ל – Deployment לסביבה הרצויה היום ה – Team Build ישמש אותנו מרמת קימפול הקוד ועד לאריזתו הסופית לפני ה – Deployment, יש לציין כי בדיוק עבור זה הוא נוצר.

 

אז בואו ונכיר את מבנה ה – InRelease, ל – InRelease 4 חלקים:

Server – לב ליבה של המערכת, ה – Server מחזיק את בסיס הנתונים, את השליטה ב – Workflows השונים ומסנכרן את הפעילויות על מחשבי היעד

Client – יש לנו שניים כאילו, אחד מבוסס WPF והאחר מבוסס Web

Deployer – למעשה מה שמותקן על מחשבי היעד

Deployer Tools – הרחבות ל – Deployer לביצוע משימות שונות על מחשבי היעד

 

יש לציין כי תצורתו הנוכחית של ה – InRelease הולכת להשתנות, ה – Server יהיה חלק מה – TFS 2013, ה – Client יהיה חלק מה – Microsoft Test Professional וניתן יהיה להשתמש בו גם עם רישיונות ל  – VS 2013 Premium ו – VS 2013 Ultimate.

הפוסט הזה יראה דוגמא לשימוש ב – InRelease בתצורתו הנוכחית של ה – InRelease ללא השינויים.

אני אתמקד ביכולות ולא בהדרכה על הכלי בפוסט זה.

לצורך ההדגמה ניצור העתקה פשוטה בין תיקיות, ניצור 3 תיקיות: Source, Dev, QA כאשר בין ה – Deployment ל – Dev ל – Deployment ל – QA נקבל אישור ידני מ – Julia.

 

צעד 1: יצירת תוכנית לצורך ה – Demo, יצרתי תוכנית פשוטה מאוד קראתי לה: DemoInReleaseApp

צעד 2: ניצור בילד חדש, ניכנס לאזור הבילדים דרך ה – Team Explorer

 

 

Step_5_Create_build_definition

 

צעד 3: נקליק על New Build Definition

 

Step_6_New_build_def

 

צעד 4: נשתמש ב – Template של ה – InRelease

 

 

Step_8_choose_the_InRelease_template

 

צעד 5: נבחר לבנות את האפליקציה אותה בניתי לצורך ה – Demo

 

 

Step_7_choose_to_build_the_solution

 

צעד 6: תחת InRelease, נבחר לבצע Deployment לבילד

 

 

Step_9_choose_true

 

צעד 7: ניפתח את ה – InRelease

 

 

Step_1_-_open_InRelease

 

צעד 8: נוסיף את הסביבות והשרתים\מחשבים שמקושרים לכול סביבה

 

Step_11_Environment_definition

 

 

צעד 9: נבנה תהליך Release, אני בניתי שתי “תחנות”, האחת Dev והשנייה QA, כמובן שניתן לבנות כמה תחנות שתרצו כולל תחנת Production.

הגדרתי שבין התחנה הראשונה (Dev) ל – QA יש מאשר במקרה זה זוהי Julia.

 

Step_10_Release_Path_Dev_QA

 

צעד 10: נבנה Component שיגדיר את הקשר שבין תוצרי ה – Build לתהליך ה – Deployment, שלב ראשון נגדיר מאיפה לקחת את התוצרים, שלב שני נגדיר פעולה אותה נבצע אם אותם תוצרים

 

 

Step_13_Create_Component_1

Step_14_Create_Component_2

 

צעד 11: נעבור ליצירת ה – Release Template שהוא לב ליבו של כול התהליך, נתחיל בלהגדיר את הקשר בין ה – Release Template לבילד האוטומטי.

נבחר את הבילד האוטומטי תחת Build Definition ואפשר לבילד להפעיל את ה – Release.

צעד 12: נשלים את שם ה – Release Template ואת ה – Release Path אותו יצרנו קודם ונקליק על Create

 

Step_12_Create_Release_Template

 

צעד 13: ניצור את ה – Workflow, בקוים כללים נבחר כול מחשב\שרת ששייכים לסביבה ומה אנחנו רוצים לבצע עליו, כאשר ניתן לשלות ב – Database, IIS, Windows OS וכו’ הכול על ידי Tasks שמגיעים עם הכלי, כמו כן נשתמש ב – Component אותו יצרנו קודם.

ב – Deployment אחד ניתן לשלות על עשרות ומאות מחשבים ושרתים דרך הכלי.

 

 

Step_14_Create_The_workflow

 

צעד 14: עכשיו אנחנו מוכנים להריץ את הבילד, בסיום הבילד הוא קורה ל – InRelease

 

Step_15_Starting_Dep_2

 

נפתח את ה – InRelease, נראה כי יש לנו קריאה ב – Traffic

 

Step_15_Starting_Dep_3

 

נפתח את הלוג בסיום ה – Deployment ל – Dev ונראה כי לאחר שסיים הוא ממתין לאישור להמשיך ל – QA

 

 

Step_16_Deployment_Log

 

צעד 15: נאשר את הבקשה

 

Step_17_Approve

Step_18_Approve_window

 

נראה כי הוא מסיים את ה – Deployment ל – QA

 

Step_19_QA_Deployment_log

 

נפתח את תיקיית ה – QA ונראה שהכן ה – Deployment בוצע

 

Step_20_QA_Deployment_Result

 

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

 

תיהנו!!!

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *