حافظ على سجل من نشر كابيسترانو
-
22-07-2019 - |
سؤال
هل هناك طريقة للحفاظ على سجل (إما محلي أو المخزنة على الخادم البعيد) من كل مرة يتم نشر عبر كابيسترانو؟ وسيكون من المفيد جدا للحفاظ على سجل ما المراجعة كان يعمل في أي وقت من الأوقات في الماضي.
وأنا أعلم أن عملية النشر يترك وراءه الملفات نشر لنشر القوات ال 10 الماضية في الدليل النشرات، ولكن سيكون من الجميل أن الاحتفاظ بمزيد من التاريخ، ويكون ذلك في متناول في شكل ملف ثابت.
المحلول
وكابيسترانو يحدد عدد قليل من المتغيرات المفيدة، واحدة تسمى latest_revision
التي يمكنك تفريغ إلى ملف.
task :mark_revision do
log = "#{deploy_to}/revisions.log"
run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " +
"echo #{latest_revision} >> #{log};"
end
نصائح أخرى
وليس هناك وظائف في بني، وبالتالي فإن الجواب الآخر يعمل تماما؛ وأود أن أقول أنه يجب إرفاقه سلسلة التنفيذ الافتراضية بطريقة أو بأخرى، أود أن أوصي شيء من هذا القبيل
after :deploy, :mark_revision
ومن أفضل ما زالت إيمهو سيكون شيئا مثل:
after :deploy do
log = "#{deploy_to}/revisions.log"
run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " +
"echo #{latest_revision} >> #{log};"
end
ولقد فتحت في ذلك تذكرة لمناقشة كابيسترانو في تعقب علة، وربما نحن سوف تنفذ شيئا في جوهر للحفاظ على السجلات أفضل؛ انها بالتأكيد سؤال كبير لدينا التغاضي بقسوة!
وPeritor مختبرات "Webistrano" لا شيء مماثل، عن طريق الحفاظ على الواجهة الأمامية على شبكة الإنترنت قاعدة بيانات مدفوعة، وهذا يسمح لك لتسجيل ما تريد، ونقل تبعية لنشر قبالة آلات المطور لأكثر مركزية في مكان ما. غالبا ما يستخدم الناس Webistrano على الخادم CI، أو مضيف مستودع إذا كانت استضافة ذاتيا. مزيد من المعلومات حول تراك لهم: http://labs.peritor.com/webistrano
وعلة تكمن هنا: HTTPS: // كابيسترانو. lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments