ما هو بناء برامج التشغيل الآلي (على سبيل المثال ، النمل)?

StackOverflow https://stackoverflow.com/questions/610732

  •  03-07-2019
  •  | 
  •  

سؤال

أرى إشارة من النمل الكثير ولكن انا لا افهم بالضبط ما تقصده ؟ من ما سمعت من المفترض أن تجميع المشاريع الخاصة بك ولكن لا يمكنني القيام بذلك عن طريق النقر فوق تشغيل->تشغيل في الكسوف ؟

تحرير :أعتقد أنني يجب أن أعيد صياغة سؤالي.أعرف مسبقا أن النمل هو 'بناء برامج التشغيل الآلي', سؤالي هو ما هو بالضبط بناء التشغيل الآلي ؟ ظننت أنك من المفترض أن اختبار التطبيق الخاص بك, و عندما كان يعمل النقر فوق 'بناء' زر في الكسوف أو من خلال سطر الأوامر جافا, ويجعل .ملف جرة من ذلك ؟ فلماذا لا تحتاج إلى 'تلقائي' هذه العملية ؟

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

المحلول

أعرف مسبقا أن النمل هو 'بناء برامج التشغيل الآلي', سؤالي هو ما هو بالضبط بناء التشغيل الآلي ؟ ظننت أنك من المفترض أن اختبار التطبيق الخاص بك, و عندما كان يعمل النقر فوق 'بناء' زر في الكسوف أو من خلال سطر الأوامر جافا, ويجعل .ملف جرة من ذلك ؟ فلماذا لا تحتاج إلى 'تلقائي' هذه العملية ؟

ليس كل تطوير جافا يتم من خلال الكسوف وليس كل الجرار قد تكون بنيت من سطر الأوامر ( أو ينبغي أن تكون مبنية من سطر الأوامر ) .

قد تحتاج إلى تشغيل بالإضافة إلى ذلك حالات الاختبار ، وحدة الاختبارات ، والعديد والعديد من عملية أخرى.

ماذا النمل لا, هو توفير آلية لأتمتة كل هذا العمل ( لذلك لم يكن لديك للقيام بذلك في كل مرة ) و ربما قد تحتج هذه النملة السيناريو كل يوم الساعة 6 مساء

فعلى سبيل المثال ، في بعض المشاريع يوميا بناء مطلوب, التالية هي المهمة التي قد تكون الآلي مع النمل ، حتى أنها يمكن أن تعمل دون تدخل بشري.

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

بالطبع لمشاريع أخرى هذا مبالغة ، ولكن البعض الآخر مفيد جدا.

نصائح أخرى

rogeriopvl هو الصحيح تماما، ولكن ل إجابتك "لا أستطيع أنا القيام بذلك عن طريق النقر انتخابات الاعادة> تشغيل في الكسوف؟" السؤال: هذا شيء طيب للمشروع كنت تعمل على بنفسك، ولست بحاجة إلى تكرار، بناء النصية في بيئات متعددة

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

النمل يستخدم لأتمتة بناء العملية ، ولكن بناء العملية غالبا ما تكون أكثر بكثير من تجميع.النمل و "المهام" التي يمكن استخدامها لأداء متنوعة من الوظائف المفيدة.يمكنك إنشاء الخاصة بك مهمة أن تفعل أي شيء من خلال كتابة فئة java و قول النملة أين يمكن العثور عليه.ثم يمكنك خلط وتطابق هذه المهام إلى إنشاء الأهداف التي سيتم تنفيذ مجموعة من المهام.

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

بعض الأشياء التي رأيتها تفعل النملة:

  • ترجمة التعليمات البرمجية
  • استخدام التحكم في الإصدار إلى الخروج أحدث إصدار أو الوسم النسخة التي يجري بناؤها
  • تشغيل البرامج النصية sql لبناء أو إعادة بناء اختبار قاعدة البيانات
  • نسخ الملفات من الموارد الخارجية لإدراجها في مشروع
  • حزمة رمز في وعاء الحرب أو الأذن الملف
  • نشر تطبيق ويب إلى ملقم التطبيق
  • تشغيل تطبيق الملقم
  • تنفيذ اختبار جناح
  • تحليل ثابت ، أي CheckStyle أو PMD
  • إرسال بريد إلكتروني إلى فريق لتنبيههم إلى بناء.
  • توليد ملفات استنادا إلى معلومات من بناء.
    • على سبيل المثال:لدي jsp في التطبيق الذي لا يفعل شيئا ولكن عرض الإصدار/بناء المعلومات.يتم إنشاؤها من قبل النمل عند تشغيل بناء و إنتاج فريق العمليات الشيكات هذه الصفحة عند نشر التطبيق على نشر الصحيح بناء.

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

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

هذا يضمن أن لا شيء يحدث على أي واحد المطور الكمبيوتر "الملوثة" بناء.(أو على الأرجح لا شيء خارج عنصر تحكم مصدر مطلوب لنظام العمل!)

لذلك معظم البرامج التي تستخدمها ، من أي وقت مضى سيتم بناؤها من المطور سطح المكتب.

PS.قد تحتاج أيضا إلى النظر في فكرة التكامل المستمر

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

.

والآن للإجابة طويلة ... لقد جلبت الى العديد من المشاريع دون أي معنى لبناء مستقل. على مشروع واحد، كان هناك واحد الرجل الذي لم يكن المطور الذي كلف بمهمة بناء ونشر البرنامج. وكان قد تم إنشاؤها 147 ملفات ويندوز دفعة منفصلة لتجميع كل EJB، كل بريمج، ولكل مكون العميل. لم يكن هناك أي خطأ التحقق من هذا البناء. ذهب كل رسائل سجل، بما في ذلك رسائل الخطأ إلى خارج القياسية. والأمر متروك له الاعتراف يدويا من خلال قراءة هذا السجل الذي استثناء أو رسالة مطبوعة وعادي والرسالة التي كان خطأ. كما كان لنشر هذا البرنامج الذي بناه فقط. نشر كان على قدم المساواة معقدة كما كانت هناك منذ عدة طبقات موازنة التحميل. كان كل وحدة لتوضع في المكان المناسب يدويا مع إعداد خيارات لتتناسب مع مستويات المصب والمنبع. بناء ونشر هذا البرنامج أخذته 3 أيام على الأقل باستخدام هذا الأسلوب. وبطبيعة الحال، وعندئذ فقط يمكن لأي شخص تحديد ما إذا كان بناء "عمل". عادة، بعد هذه الفترة من كل المبرمجين أن يتبارى لتصحيح الإنشاء. أن المبرمجين يقول حدة بلدي يعمل بشكل جيد في IDE بلدي. أنا فقط انقر فوق تشغيل مثل هذا، ترى؟

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

وعلى أي حال، فإننا استبدال هذا الإجراء بأكمله مع استكمال بناء النملة مقرها ونشر آلية. وكانت النتيجة النهائية أن استكمال بناء يمكن إنشاء ونشر في أقل من 30 دقيقة، مؤتمتة بالكامل. الرجل QA إدارة يبني وتنشر يمكن الحفاظ على السبورة منها البيئة والتي تبني نشر إليها والمجموعة التي كانت تستخدم تلك البيئة. وكان هذا الشيء الذي كان مجرد غير ممكن مع النظام القديم.

والنملة هو لأتمتة عمليات بناء البرمجيات:

http://en.wikipedia.org/wiki/Apache_Ant

والنملة يسمح هش (كاملة، تكرار، بالمعلومات، schedulable المحمولة) يبني. يمكنك أن تجد معلومات كبيرة عليه في هذا عرض مايك كلارك وفي حياته الكتاب، براغماتية أتمتة مشروع .

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

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

والنملة ويمكن أيضا أن تستخدم ليبني العادية الآلي (كنت لا تريد ضرب تشغيل في الكسوف كل ليلة، والحق: -؟))

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

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

أسرع لأن الأشياء تحدث على الفور دون انتظار الإنسان للالتفاف عليه.

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

أرخص لأن لديك عدد أقل من خطأ من أخطاء التي تحدث يتم القبض عليهم عاجلا وبالتالي أرخص لإصلاح.

يمكنك أيضا الإشارة إلى ""تصدير النمل buildfile".

إذا كنت أكتب الخاصة بك النصي النمل لبناء التطبيق الخاص بك خارج الكسوف ، يمكنك كتابة الأهداف الخاصة بك التي تستخدم النمل المهمة إلى مندوب ولدت build.xml.

أيضا, يمكنك تكوين المشروع 'بناة' (project properties » Builders) تشغيل أي برنامج نصي (النمل أو خلاف ذلك) الذي تريده عند بناء المشروع يدويا أو تلقائيا.

وجويل (Spolsky) و على المقالة كبيرة حول "جويل اختبار". وكثير منهم تدور حول القدرة على فعل الأشياء الهامة في كثير من الأحيان، بسرعة وبشكل موثوق. واحدة من تلك الأشياء هو الإنشاء.

والكسوف هو استخدام النمل لبناء وتشغيل ونشر و...

و"النملة هو أداة بناء مقرها في جاوة. ومن الناحية النظرية، هو نوع من مثل جعل، بدون تجاعيد جعل ومع قابلية كاملة من التعليمات البرمجية جافا النقي". (من نص الارتباط

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