יום שני, 9 במאי 2011

פרל ? מישהו עדיין עובד בזה ?

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

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



 1 use strict;
 2 use warnings;
 3 use Dancer;
 4 
 5 my $proj_path = '~/src/project';
 6 
 7 post '/commit' => sub {
 8   system("hg pull -R $proj_path /.. >> $proj_path/hg.log");
 9   system("hg update -R $proj_path /.. >> $proj_path/hg.log");
10   return 0;
11 };
12 
13 dance;


הפעלה של התוכנית פותחת שרת ווב על פורט 3000 (אפשר לשחק עם plackup כדי לשנות את סוג השרת והפורט), שמאזין לבקשות פוסט על הנתיב /commit. כעת, הגדרתי את ביטבקט לשלוח פוסט לנתיב:
http://myhostname.com:3000/commit
מכאן והלאה, בכל קומיט ביטבקט מעדכן את השרת, שמבצע משיכה של העדכונים ועדכון הקבצים עליו.

אין תגובות:

הוסף רשומת תגובה