ביום שיצא Visual Studio 2008 ו Team Foundation Server 2008 התקנתי אותו אצלנו ב Production. עד היום עבדנו עם VSS - לא ראיתי טעם בלהתקים את TFS 2005כשגרסת 2008 הייתה במרחק כמה שבועות. ההמתנה השתלמה. סוף סוף יוצא לי לעשות את כל הדברים שהמלצתי ללקוחות כשעבדתי במיקרוסופט.
חווית ההתקנה:
את TFS 2005 התקנתי עשרות פעמים ובכל פעם נצמדתי כמו תוכי ל Manual. דבר אחד למדתי מ TFS 2005 - שאם לא עובדים עם ה Manual זה בטוח לא יעבוד. ב TFS 2008 חווית המשתמש עדייו רחוקה מלהיות טובה אבל היא מוצלחת הרבה יותר מ TFS 2005. הדברים המרכזיים ששונים:
1. אפשר להתקין את SQL על Named Instace - חשוב אם יש לכם יותר מ DB אחד ואתם רוצים להפריד את בסיסי הנתונים לגמרי.
2. אין צורך להגדיר יוזרים ב Domain, אפשר להשתמש ב Network Service למעט ה Build Server שמשום מה לא הסכים להתקין את עצמו ללא יוזר ב Domain למרות שהתיעוד מציין שאפשר לעשות את זה.
3. ההתקנה מקנפגת לבד את Sharepoint.
4. זמן ההתקנה קצר הרבה יותר.
5. ההתקנה הרבה הרבה יותר פשוטה - אין הרבה מקומות לטעות.
יצירת Team Project:
מאוד מהיר יחסית ל TFS 2005. מגיע עם שתי Templates: הראשון MSF for Agile והשני MSF for CMMI. חבל שלא מגיע גם ה Scrum. כרגע אפשר להוריד את ה Template של Scrum מ Codeplex.
המעבר ל TFS:
ויתרנו על ההיסטוריה שהייתה לנו ב VSS. ניתקנו את הפרוייקטים מ Source Control, שיננו את ה Source Control plug-in ל TFS והכנסנו את הפרוייקטים.
בשלב הראשון המשכנו לעבוד עם Visual Studio 2005, ה Team Foundation Client של 2005 יודע לעבוד מול TFS 2008 למרות שלא תזכו לחלק מהפירות ש 2008 מביא איתו.
בסופו של דבר עשינו Branch ושידרגנו את ה Source-ים שלנו ל Visual Studio 2008 - למעט שדרוג אוטומטי של ה Solution לא היה צריך לעשות כלום. במהלך השדרוג אתם תשאלו האם תרצו שהשדרוג יקנפג את הפרוייקטים שלכם לעבוד מעל .NET 3.5, בתחילה זה נראה מדאיג כי לא ברור מה הולך להשתנות, בכל מקרה אפשר לשנות את ה Setting הזה ב Properties של הפרוייקט:
עוד על Multi Targeting אפשר לקרוא ב: VS 2008 Multi-Targeting Support.
עבודה מרחוק:
אחד האנשים שלנו נמצא בארה"ב אז פתחנו את ה TFS גם מול האינטרנט - פתיחת פורט פשוטה ב Firewall. זה עובד מהר, מאוד מהר. יותר מהר מ VSS ברשת מקומית ועוד בלי שרת ה פרוקסי של TFS. בדיעבד זה נפלא לעבוד מהבית (ב 2 לפנות בוקר) מול Visual Studio ולעשות שינויים בלי לחכות יותר מדי זמן.
דברים חדשים:
עבודה ב Disconected - קורה לפעמים שהרשת לא זמינה או שאין אינטרנט אז Visual Studio 2008 מזהה את זה ועובד ב Disconnected Mode, ברגע שמתחברים מחדש ומעלים את ה Solution אז Visual Studio 2008 עושה Checkout לכל הדברים ששונו - פשוט תענוג.
Get Latest on Check Out - זה אולי ה Feature מספר 1 שביקשו ממיקרוסופט, הנה הסיפור מאחורי ה Feature הזה. מאז שחר ימי Visual Source Safe כולם התרגלו שכשעושים Check Out לקבצים אז אוטומטית גם מתבצע Get Latest וכך אוטומטית עובדים על הגרסה האחרונה, זה והשילוב של מניעת Multiple Checkout הבטיחו שלא יהיו קונפליקטים כשעושים Checkin. הבעיה התחילה בכך שכולם התרגלו לעבוד כך למרות שמבחינת מתודולוגיית עבודה זה לא הכי נכון.
כמיקרוסופט הוציאה את TFS היא "תיקנה" את המעוות בזה שהניחה שמתכנת יודע בדיוק על איזה גרזה הוא עובד וזה לגמרי הגיוני שמישהו יעשה Checkout למשהו שהוא לא הדרסה האחרונה - כך נוצר מצב מוזר שכשאותו מתכנת רצה לעשות Checkin הוא בעצם היה חייב לעשות Merge, קצת מעצבן אבל מאוד נכון מתודלוגית, ב VS 2008 זה בסה"כ Chekbox קטן:
Build Server - הוא היה מעולה ברסה הקודמת ועכשיו הוא עוד יותר טוב, אחד הבעיות ב TFS 2005 שלא היה ניתן לערוך את ה Build Type עם ה Wizard מחדש, ב TFS 2008 תיקנו את זה. טים קטן - כדי להמנע מכל מיני שגיאות של קומיפלציה בעקבות חוסרים של SDK-ים למינהם מומלץ להתקין את VS 2008 גם על שרת ה Build.