השבוע האחרון היה מאוד אינטנסיבי בחברת רובין. עזבנו את המשרדים שלנו ברחוב אלנבי בתל אביב, ובזמן שאנחנו מחפשים משרד קבוע, יצא לנו להתקל בכמה אתגרים מעניינים. לכולנו יש לפטופים טובים, אבל במשרד הישן עבדנו כולנו על שרת מקומי, ששירת אותנו לא רע – התקנו עליו CentOS 6, והרצנו עליו Virtualmin: Cloud Computing Everywhere. לכל מפתח היה את החשבון שלו, עבור הפרויקט עליו הוא עובד. אני, בתור מי שמנהל את העבודה, נהניתי מהאפשרות לעבוד על כל אחד מהפרויקטים, וגם לראות את העבודה של הצוות לפני שאני מעלה עדכון לשרת ה production. גם הלקוחות שלנו יכול לצפות בזמן אמת בעבודה שאנחנו עושים.

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

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

בשלב זה עוד לא זנחתי את הרעיון לגמרי, אבל רציתי למצוא פתרון פשוט יותר. ניסים, אחד המתכנתים ברובין, הציע שנעבור לעבוד על Ubuntu Desktop. ממשק המשתמש שלו לא רע בכלל, והביצועים של המחשבים יבואו לידי ביטוי טוב יותר. אמרתי לו שאולי ננסה  Dual boot.

החלטתי להתקין את הגרסה האחרונה ביותר של Ubuntu 64 bit, והשתמשתי ב Universal USB Installer על מנת ליצור התקנה על גביUSB . לאחר שביצעתי את ההתקנה, לא בלי כמה סיבוכים קלים, גיליתי שהכל בתאוריה נשמע אחלה, אבל במציאות  איכות הגרפיקה של התצוגה לא מספיקה. בתור מתכנתים שמתעסקים בתכנות עיצוב מורכב ל web, אנחנו צריכים לראות את המסך בצורה חדה. כמו כן, פונטים לא הופיעו על אובונטו כמו שאנחנו רגילים לראות אותם על גבי windows, שלא לדבר על עורך קוד וכל שאר התוכנות שאנחנו כבר רגילים אליהן.

 אז חזרתי לנקודת ההתחלה. הורדתי את הגרסאות המעודכנות ביותר, של Oracle VM VirtualBox, וגם של Vagrant. אחרי לא  מעט נסיונות, הבנתי שמה שמאט את ההתקנה היה התיקייה המשותפת שבין המכונה הוירטואלית לווינדוס שלי.

במקום להשתמש בסנכרון התיקיות המובנה, החלטתי להתקין Samba – opening windows to a wider world. התקנתי גם Virtualmin, ואת כל התוכנות שצריך, כולל GIT. לקח לי כמה שעות, וזה בטח ישרוף לנו יום שלם מחר בעבודה אם אני רוצה שכולם יתחילו לעבוד ככה.

למזלי vagrant  הוא באמת כלי חכם כמו שכולם אומרים. בפקודה אחת ארזתי את כל המכונה, וכעת אין פשוט מזה, כל מה שצריך לעשות זה להריץ שתי שורות, וכל השאר זה קסם. אני מעלה עכשיו את הקובץ לשרת, אבל הוא שוקל כ 4 GB , אז הוא עולה לאט, ובנתיים ניתן להריץ את המכונה מעותק מקומי של ה box.

$  vagrant init virtualbox https://www.dropbox.com/s/j4p0ra3xc01wkoj/package.box

$ vagrant up

משום מה אחרי ההתקנה הייתי צריך להפעיל את ה webmin בעזרת

/etc/init.d/webmin start

ואז כבר ניתן היה לגשת לפאנל הניהול דרך הכתובת https://192.168.33.10:10000/

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