سؤال

أنا أبحث في طرق لنشر روبي على القضبان التطبيق (يعمل على JRuby) إلى هر سبيل المثال للاختبار.

هر مثيل قيد التشغيل على نظام سولاريس الخادم التي يمكنني SSH.لقد بحثت في استخدام كابيسترانو, ولكن هناك لا يبدو أن الكثير الخارج عن استخدامه لنشر هر ، أو حتى عن تشغيل تحت JRuby وأنا الحفاظ على ضرب الخلل في كابيسترانو بسبب ويندوز/JRuby بيئة جهاز الكمبيوتر الخاص بي يعمل (نعم انه الشركات - ليس لي خيار ، ولكن يجب أن نتعايش معها).

أنا باستخدام صدح لبناء .الحرب ملف التطبيق ينشر و يعمل بشكل جيد مرة واحدة يدويا نسخ و نشر ذلك.أنا يريد شيئا أسهل وأكثر الآلي في الواقع الحصول عليه هناك.

أي شخص فعل هذا من قبل ؟ وثائق على شبكة الإنترنت تبدو رقيقة جدا.

هل كانت مفيدة؟

المحلول

ليس لدي الكثير من الخبرة في هذا, لذلك أنا لا أعرف ما إذا كنت يمكن أن تعطيك أفضل طريقة ، ولكن إذا كابيسترانو لا يعمل و لا يمكن أن يكون منفصلا التصوير بالرنين المغناطيسي تثبيت فقط لتشغيله, لديك فقط عدد قليل من البدائل اليسار:

حاول تشغيل عادي الخليع والكتابة الخاصة بك الهدف النشر:http://www.gra2.com/article.php/deploy-ruby-on-rails-applications-rake

أو استخدام النمل أو مخضرم.

أو إذا كان ملقم واحد فقط تحتاج لنشر يمكنك فقط هاك معا اثنين روبي مخطوطات - أحد أن يستمع خادم إيقاف/بدء التشغيل وطلبات واحد المحلية التي تعمل على:إرسال الاغلاق ، scp على ملف إرسال بدء التشغيل.

بالمناسبة, هل قدمت أي التكامل البق تجد مع كابيسترانو إلى JRuby الفريق ؟ أنا متأكد من أنها سوف تكون سعيدة أن يكون له أي مساهمة.:)

نصائح أخرى

أنا تشغيل القضبان المشروع باستخدام JRuby و نشر إلى خادم قط.وقد اخترت نشر مع كابيسترانو لأنه بأتمتة كل شيء تقريبا.اضطررت إلى إجراء بعض التعديلات الطفيفة على كابيسترانو نشر دورة الحياة من أجل الحصول على ذلك أن تعمل على هر:

الخطوة 1:أنا خلقت صدح المهمة ليتم تشغيلها على الملقم بعد كابيسترانو تحديثات المدونة:

desc "Run the warble command to deploy the site"
namespace(:deploy) do
  task :warble do
    run ". ~/.profile;cd #{release_path};warble"
  end
end

و مدمن مخدرات في كابيسترانو دورة استخدام:

after 'deploy:update_code', 'deploy:warble'

بلدي القط خادم الارتباط الرمزي لافتا إلى #{release_path}/tmp/war الدليل الذي تم إنشاؤه من قبل صدح.إذا كنت لا تحب هذا ، يمكنك بسهولة تعديل صدح مهمة لنقل ملف الحرب في هر الدليل بدلا من ذلك.

الخطوة 2:لقد تجاهلت deploy:start و deploy:stop المهام بحيث ركلة قبالة هر الخادم بدلا من الهجين server:

desc "Starts the Tomcat Server"
namespace(:deploy) do
  task :start do
    sudo "#{tomcat_home}/bin/startup.sh"
  end
end

desc "Shutdown the Tomcat Server"
namespace(:deploy) do
  task :stop do
    sudo "#{tomcat_home}/bin/shutdown.sh"
  end
end

تشغيل كابيسترانو المهام باستخدام التصوير بالرنين المغناطيسي بدلا من JRuby مترجم.

قد يكون من المفيد النظر في فلاد deployer' وتضيف remote_task أن أشعل النار مما يسمح لك لتشغيل المهام على ملقم بعيد.شخصيا ومع ذلك أنا أفضل أن يكون معيار الخليع مهمة على خادم ssh في تشغيل هذه المهمة - التي من شأنها ثم القيام svn checkout, جعل الحرب ملف مهما كان...

ربما أود أن استخدام النمل من أجل هذا.بعد كل شيء, انها مجرد حرب أخرى الملف, صحيح ؟ أنا لا أعرف أي إصدار من هر كنت تستخدم ولكن الإصدار 4.1 x يأتي مع نملة مهمة نشر هر.

هناك عدد قليل من كابيسترانو وصفات نشر هر-أنا بنيت واحد في جوهره يسمى كابيسترانو-هر.يستغرق الحرب كنت قد بنيت (ربما مع المغرد) و تنشر و يبدأ هر المثيل على الملقم البعيد.

المصدر على Github: http://github.com/rhunter/capistrano-tomcat

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