سؤال

هل هناك طريقة للحفاظ على سجل (إما محلي أو المخزنة على الخادم البعيد) من كل مرة يتم نشر عبر كابيسترانو؟ وسيكون من المفيد جدا للحفاظ على سجل ما المراجعة كان يعمل في أي وقت من الأوقات في الماضي.

وأنا أعلم أن عملية النشر يترك وراءه الملفات نشر لنشر القوات ال 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top