سؤال

أنا معجب كبير بـ Capistrano ولكني بحاجة إلى تطوير برنامج نصي للنشر الآلي لمتجر جافا فقط.لقد ألقيت نظرة على Ant وMaven ولا يبدو أنهما موجهان بشكل جيد نحو الإدارة عن بعد مثل Capistrano - يبدو أنهما أكثر تركيزًا على بناء التطبيقات وتعبئتها ببساطة.هل هناك أداة أفضل هناك؟

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

المحلول

وأنا لا أعتقد أن هناك تطبيق كابيسترانو مثل لتطبيقات ويب جافا، ولكن هذا لا ينبغي أن تبقي حقا لكم من استخدامها (أو بدائل مثل النسيج) لنشر التطبيقات الخاصة بك. كما كنت قد سبق وقال، النمل هو أكثر بديلا عن GNU جعل بينما مخضرم هو الأساسي تطبيق buildout / تبعية الإدارة.

ومنذ تطبيقات ويب جافا هي بفضل الحاوية .war أقل اعتمادا على المكتبات الخارجية، يمكنك (اعتمادا على تطبيق الخادم الخاص بك) جعل نشر تطبيق سهلا كما يعمل على HTTP PUT-طلب بسيط.

ولكن إذا كنت تحتاج إلى خطوات إضافية، عملت نسيج بشكل جيد للغاية بالنسبة لي حتى الآن، وأفترض أن كابيسترانو كما يقدم عام قذيفة الأوامر، ووضع والحصول على العمليات. ولذا فإنني لن ننظر لفترة طويلة جدا عن بديل إذا ما كان لديك بالفعل يعمل بالفعل: -)

نصائح أخرى

أعتقد أن وحدة التحكم (انظر: http://controltier.org) هو ما تبحث عنه.على الرغم من أنه لا يلزم استخدام وحدة التحكم حصريًا لعمليات نشر Java.

راجع هذا المقتطف من المستندات (انظر: وثائق طبقة التحكم):

هل ControlTier هو نفس Capistrano أو Fabric أو Func؟

من أهم مفاهيمها الأساسية ، تعد ControlTier و Capistrano و Fabric و FUNC أدوات مماثلة.بالتأكيد ندعو أطر عمل Capistrano و Fabric و Func Basic Command.

ومع ذلك ، فإن ControlTier ، حسب التصميم ، تتجاوز بكثير ما توفره هذه الأدوات الأخرى.تم تصميم مكتبات الأتمتة والأدوات المستندة إلى الويب التي توفرها ControlTier للسماح لك ببناء أنظمة أتمتة كاملة جاهزة للاستخدام من قبل فرق عمليات الويب على نطاق واسع.هناك أيضًا ميزات مثل معالجة الأخطاء والتسجيل المركزي التي ليست فقط في نطاق أدوات إرسال الأوامر الأخرى.

أيضًا ، Capistrano هي أداة تعتمد على الياقوت وتركز بشكل أساسي على احتياجات مجتمع Ruby on Rails.ControlTier ، على الرغم من كتابته في Java ، لا يتطلب منك معرفة Java لاستخدامها.في الواقع ، يمكنك استخدام أي لغات نصية تشعر بالراحة معها (بما في ذلك روبي).يحاول ControlTier أن تكون لغة ومنصة (Linux ، UNIX ، Windows ، إلخ ..) محايدة قدر الإمكان.

وفي عملي نستخدم كابيسترانو حصرا لنشر كل من تطبيقات جافا لدينا. ومن الممكن بالتأكيد.

ويمكنني استخدام وصفة كابيسترانو لبناء دي سبيس (أ تطبيق الويب للجافا، والذي يستخدم بدوره مخضرم) من مصدر: <لأ href = "http://code.google.com/p/bungeni-dspace/wiki/InstallingDspaceUsingCapistrano" يختلط = "نوفولو noreferrer"> تركيب الدي سبيس باستخدام كابيسترانو

يمكن لـ Capistrano نشر جميع تطبيقات الويب الأساسية.عمليات النشر للغة المختلفة هي نفسها تقريبًا:

  1. رمز التحديث
  2. ادفع الكود إلى خادم الإنتاج
  3. قم بإعداد ملفات التكوين لهذا النشر
  4. إعادة تشغيل الخادم.(رقيقة، nginx، القط)

في شركتي، نستخدم Capistrano لنشر تطبيقات Java وVuejs وphp وRuby وPython.

ما هو المثير للاهتمام هو أن فكرة كابيسترانو من الريبو تفترض أنك تتعامل مع SCM (المصدر إدارة التحكم). هيكل على الخادم والإصدارات المرتبطة تطبيق يعمل على مصدر التطبيق. هذا الأمر يبدو معقولا تماما للغة تفسيرها.

في لغة مترجمة مثل جافا، على الرغم من الإصدارات والمتفرعة يأتي قبل النشر وقبل وقت ترجمة التطبيق وبنى، وبالفعل غادر نظام التحكم بالمصادر وراء وما هي النتائج هو جرة تعيين إصدار أو القطران لاحتواء تطبيق. وعادة ما يتم نشر هذا كتل القطران (جرة + التكوين) إلى قطعة أثرية مستودع مخضرم مثل نيكزس أو Artifactory.

والمثير للدهشة، وهذا القطع الأثرية خرائط الريبو إلى الريبو كابيسترانو على ما يرام. بدلا من SCM، يمكننا أن نتعامل مع هذا كتل القطران مثل SCM (المصدر إلى أن تعيين إصدار). مع هذا في الاعتبار، لقد نفذت كابيسترانو SCM المساعد للمخضرم قطعة أثرية اتفاقيات إعادة الشراء . انها جديدة ولكنها تعمل بشكل جيد جدا.

وويوحد مشاريعنا روبي وجافا على أداة واحدة، والأهم من ذلك، ان يجلب قوة SSHKit كابيسترانو وأشعل النار لمشاريع جافا لدينا.

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