ليس هنالك أسوأ من القيام بنقل تطبيقات الويب لخادم (Server) يدويا وذلك باستخدام أدوات مثل Filezilla , CoreFTP أو غيرها، ومحاولة إبقاء الملفات متزامنة بين جهاز حاسوبك والخادم، إنه كابوس حقيقي. إذا كنت ممن واجه هذا من قبل فإن هذه المقالة حتماً لك .
بالنظر لكونك مبرمجاً أو مصمماً يعمل على نشر أعماله على الويب، من الطبيعي امتلاكك لمجموعة من الأدوات التي تساعدك على ذلك، أو ربما كنت ممن يستخدم برتوكل SSH ولكن اليوم سوف أقوم بتعريفك على أداة رائعة تستخدم برتوكل FTP أو SFTP للنشر على الويب و هي مكتوبة بلغة البرمجة PHP وتدعى: FTP-Deployment
ما هي ميزات FTP-Deployment ؟
- السماح بأتمتة عملية النشر دون تدخل مباشر منك باستخام ملف إعدادت بسيط.
- القدرة على النشر لأكثر من مخدم (Server) في ذات الوقت.
- القدرة على مزامنة الملفات (أي الملفات التي سوف يتم رفعها هي الملفات التي تم تعديها فقط).
- القدرة على تنفيذ مهمات قبل وبعد النشر (ضغط المشروع في ملف ZIP على سبيل المثال بعد نشره).
استخدام FTP-Deployment في مشروعك
1 – توجه إلى المجلد الجذر في مشروعك وأنشئ ملف composer.json
{ "require": { "dg/ftp-deployment": "*" } }
اطلب من Composer تنصيب الحزمة عن طريق تنفيذ الأمر التالي:
composer install
2 – أنشئ ملف deployment.ini
; إعدادت المخدم المستخدم في مرحلة التطوير ( Development ) ; --------------------------------------------------------------- [My Development Site] ; عنوان المخدم مع اسم المستخم وكلمة السر remote = ftp://user:secretpassword@ftp.example.com/directory ; المسار الكامل لمشروعك local = . ; قائمة بالملفات المراد تجاهلها ignore = " .temp .log " ; مخدم أخر ; --------------------------------------------------------------- [Other Site] ; عنوان المخدم مع اسم المستخم وكلمة السر remote = ftp://user:secretpassword@ftp.example2.com/directory
نشر المشروع
لن تحتاج لأي شيئ عدا الملفين السابقين لاستخدام هذه الأداة، ويمكنك نشر مشروعك على المخدمين المحددين في ملف deployment.ini السابق عن طريق تنفيذ الأمر التالي :
vendor/bin/deployment deployment.ini
!ذا كنت فقط تريد تجربة الأداة دون أن تقوم بنشر أي شئ فعلياً فيمكنك تنفيذ الأمر السابق بالشكل التالي:
vendor/bin/deployment deployment.ini --test
في المرة القادمه التي تقوم فيها بالنشر سوف يتم نشر الملفات التي تم تعديلها فقط.
الملخص
أن هذه الأداة سهلة الاستخام وسريعة وإذا كنت تستخدم أداة لأتمتة عملية البناء والنشر مثل ANT أو PHING سوف تجد أنه من السهل إضافة هذه الأداة لنظام سير عملك، والأهم أنك سوف تصبح قادراً على النوم جيداً أثناء الليل بعيداً عن كوابيس FTP.