
AppHarbor היא פלטפורמה כשירות (Platform-as-a-Service) עבור אפליקציות NET. ו- Node.JS. למעשה מדובר בפלטפורמת ענן מבוססת Windows שיכולה להריץ אפליקציות ושירותים הכתובים ב- NET. ו- Node.JS ולגדול איתם (to scale) לאורך זמן. פשוט “דוחפים” קוד ל- AppHarbor ע”י שימוש ב- Git, הקוד נבנה, מורצים Unit Tests והפרוייקט מוכן לרוץ.
כמו כל פלטפורמת ענן, היא מאפשרת למפתחים להשקיע יותר זמן בפיתוח האפליקציות שלהם מאשר בענייני IT. היתרון בה לעומת פלטפורמות ענן אחרות הוא שלא נדרש לכתוב קוד ספציפי כדי לקחת אפליקציית ASP.NET ולהעלות אותה לענן עם AppHarbor וניתן להעלות אפליקציות כמעט ללא שינויים כלל.
רישום ל- AppHarbor
ניכנס לעמוד הראשי של AppHarbor בכתובת: http://appharbor.com:

לצורך הרישום, נלחץ על הכפתור Sign Up בפינה הימנית העליונה של האתר.

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

לאחר הלחיצה על הקישור במייל האישור, נגיע לעמוד האפליקציות שלנו באתר AppHarbor, בכתובת https://appharbor.com/applications.

כרגע רשימת האפליקציות שלנו ריקה, אך במרכז העמוד ניתן ליצור אפליקציה חדשה.
נזין את שם האפליקציה שנרצה ליצור (לדוגמא appharborsample ונלחץ על Create New).

לאחר יצירת האפליקציה, נגיע למסך פרטי האפליקציה המאפשר לנו לחבר בין פלטפורמת ה- Source Control שלנו לבין AppHarbor, להוסיף תוספים לאפליקציה ועוד. אולי אקדיש פוסטים בהמשך לנושאים האלה.

בעמוד האפליקציה שלנו, נלחץ על הכפתור Repository Url כדי להעתיק ל- Clipboard את הנתיב ל- Repository המרוחק. כאן השימוש ב- Repository של Git לא יהיה למטרת Source Control, אלא שימוש ב- Git לצורך Deployment.
במקרה הזה, הכתובת שהועתקה היא:
https://guyburstein@appharbor.com/appharborsample.git
דוגמא: העלאת אפליקציית ASP.NET ל- AppHarbor
ניצור פרוייקט ASP.NET בתוך Visual Studio 2010. במקרה הזה בחרתי באפליקציית ASP.NET Web Forms אבל התהליך זהה לחלוטין עבור ASP.NET MVC.
נסמן את ה- Solution ב- Solution Explorer, נלחץ על הכפתור הימני ונבחר באפשרות Open Folder in Windows Explorer.

תיפתח ספריית ה- Solution ב- Windows Explorer המכילה את הפרוייקטים השונים ואת קובץ ה- sln.
נבחר באחת מספריות הפרוייקטים (במקרה הזה יש פרוייקט אחד ב- Solution), נלחץ על הכפתור הימני של העכבר ונבחר באפשרות Git Bash Here (דורש התקנת msysgit: ה- Git Client ל- Windows).

יפתח חלון ה- Git Bash בתוך ספריית הפרוייקט:

נעלה רמה אחת למעלה בעץ התיקיות כדי לההיע לתיקיית ה- Solution ע”י הפקודה

ניצור Repository מקומי בתיקייה הנוכחית:
נוסיף את קבצי הפרוייקט ל- Staging:
כמובן שרצוי להגדיר קובץ ignore כפי שהסברתי כאן, כדי לא להעביר גם קבצים שאין להם חלק בתוצר הסופי כמו ספריית ה- obj וקבצי הגדרות אישיות של ה- user ב- Visual Studio.
ולבסוף נבצע Commit כדי להעביר הקבצים האלה ל- Repository המקומי.
git commit -m "initial commit"

נגדיר את הקישור ל- Repository המרוחק ונקרא לו AppHarbor: כזכור, את הקישור ל- Remote Repository קיבלנו מעמוד האפליקציה באתר AppHarbor כאשר לחצנו על הכפתור Repository Url.
git remote add appharbor https://guyburstein@appharbor.com/appharborsample.git
לבסוף, “נדחוף” את הקבצים מענף ה- master המקומי ל- Repository המרוחק המכונה appbarbor. במהלך התהליך נתבקש להזין סיסמא.
git push appharbor master

אתר AppHarbor קיבל את הקבצים, ומתחיל בבניית האפליקציה. נוכל לגשת לעמוד האפליקציה באתר (במקרה הזהhttps://appharbor.com/applications/appharborsample) ולראות את מהלך העדכונים.
בסיום התהליך, נקבל את העמוד הבא, שמראה לנו כי האפליקציה בגירסא שקראנו לה initial commit הועלתה וכרגע היא פעילה.

נלחץ על הקישור Go to your application כדי להגיע אל האפליקציה שלנו. הקישור לאפליקציה יהיה http://appharborsample.apphb.com (שם האפליקציה כ- sub domain בתוך הדומיין apphb.com).

ברכות! העלינו אפליקציית ASP.NET ראשונה לאתר AppHarbor תוך מספר דקות!
בפוסטים הקודם במדריך Git על Windows עשינו את ההכנות הנדרשות: התקנו msysgit והגדרנו הגדרות ראשניות, וגם נרשמנו לאתר GitHub. בפוסט הזה ניצור Repository באתר GitHub ונעלה אליו פרוייקט לדוגמא.
יצירת Repository חדש באתר GitHub
כשהפרוייקט שלך נמצא ב- GitHub, הוא חי בתוך Repository. כדי שנוכל להעלות פרוייקטים ולשתף קוד באתר GitHub עלינו להתחיל ביצירת Repository חדש.
בעמוד הראשי של האתר, כאשר אנחנו מחוברים אליו, נראה שכרגע אין לנו שום Repository.

נלחץ על הכפתור New Repository ליצירת Repository חדש.

נמלא את שם הפרוייקט (לדוגמא: githubsample) והתיאור שלו ונלחץ על Create Repository.
נשים לב שקוד הפרוייקט שנשמור ב- Repository שיצרנו יהיו חשוף לכולם, כיוון שאנחנו עובדים בתוכנית חינמית באתר. במידה ואנחנו רוצים למנהל פרוייקט בו הקוד אינו חשוף לכולם, עלינו לשדרג את החשבון.
בסיום התהליך יווצר ה- Repository תחת המשתמש שלנו ונקבל מסך עם הנחיות להמשך.

ניתן להגיע ל- Repository שלנו ע”י הקישור בראש העמוד, אך באופן כללי הוא יהיה תמיד בכתובת:
https://github.com/guyburstein/githubsample
כאשר השם guyburstein הוא שם היוזר ו- githubsample הוא שם הפרוייקט.
בעמוד הראשי שלנו (כאשר אנחנו מחוברים לאתר), נראה שיש לנו כבר Repository אחד.

העלאת פרוייקט לאתר GitHub
באחד הפרקים הקודמים הדגמתי שימוש בסיסי ב- Git: יצרתי Console Application פשוט, יצרתי Git Repository מקומי והעברתי אליו את הקבצים ע”י שימוש בפקודות git add ו- git commit.

כעת נמשיך מאותה נקודה ונרצה להעלות את הפרוייקט מה- Repository המקומי ל- Repository המרוחק באתר GitHub.
כדי להגדיר את הקשר ביניהם נשתמש בפקודה git remote ונספק את הנתיד ל- Repository המרוחק שלנו. איפה נמצא אותו? בדיוק בדף למעלה, בו היו מפורטות הוראות ההתחברות ל- Repository שיצרנו.
למעשה, בדיוק בשורה הזאת:

הכתובת ל- Repository המרוחק היא:
git@github.com:guyburstein/githubsample.git
הכתובת מתחילה בביטוי git@github.com, וממשיכה בשם היוזר ושם הפרוייקט ומסתיימת בסיומת git. למרות שזאת לא נראית כתובת אינטרנט רגילה, נשתמש בה ע”ג פרוטוקול SSH כדי לתקשר בצורה מאובטחת עם GitHub.
נשתמש בפקודה הבאה בשינוי שם המשתמש והפרוייקט כמובן:
git remote add origin git@github.com:guyburstein/githubsample.git
כדי להגדיר ל- Repository המקומי, מיהו ה- Repository המרוחק שנעבוד מולו. הפקודה git remote מקבלת את הפרמטר add שמשמעותו להוסיף קישור ל- Repository מרוחק שיהיה מכונה origin, ונמצא בנתיב כלשהו.

מעתה והלאה כשנרצה להתייחס לאותו Repository מרוחק, נשתמש בשם origin.
כעת אנחנו סוף סוף מוכנים לבצע את ההעלאה של קבצי הפרוייקט ל- Reposirory המרוחק. נשתמש בפקודה git push כדי “לדחוף” את העדכונים האחרונים שעשינו להם Commit ל- Repository המקומי אל ה- Repository המרוחק ששמו origin.

במידה ובמהלך התהליך אתם נשאלים: Are you sure you want to continue connecting? יש להקיש yes (שימו לב להקיש את המילה yes כולה ולא רק את האות y).
לאחר סיום התהליך, העמוד הראשי של הפרוייקט שלנו יציג את קוד הפרוייקט:

ברכות! העלינו פרוייקט ראשון לאתר GitHub!