تجربة مع Hudson - مشروع مصفوفة البناء
-
05-07-2019 - |
سؤال
هل جرب أي شخص هذه الميزة ولديه بعض الملاحظات؟ أم أن أي شخص يعرف بعض العينات المفيدة للبحث؟
المحلول
لقد جربت هذه الميزة منذ بضعة أشهر ، لكنني لم أعد أستخدمها (لمجرد أنني لست بحاجة إليها ، ليس لأنها ليست ميزة جيدة).
في الأساس ، يمكنك تحديد محور N ، كل محور هو خاصية ذات عدة قيم.
دعنا نذهب مع مثال: يمكنك تحديد المحور "JDK" ، مع القيمة المحتملة "1.4" ، "1.5" ، "1.6" ، وتحدد قاعدة بيانات خاصية أخرى ، حيث تكون القيم الممكنة "Oracle" ، "MySQL".
وهكذا ، سيطلق هدسون بناء 6 مرات:
- مع JDK 1.4 ، مع قاعدة بيانات الخصائص = Oracle (أي يتم إطلاق JVM باستخدام -ddatabase = Oracle)
- مع JDK 1.5 ، مع قاعدة بيانات الخصائص = Oracle
- مع JDK 1.6 ، مع قاعدة بيانات الخصائص = Oracle
- مع JDK 1.4 ، مع قاعدة بيانات الخصائص = MySQL
- مع JDK 1.5 ، مع قاعدة بيانات الخصائص = MySQL
- مع JDK 1.6 ، مع قاعدة بيانات الخصائص = MySQL
بعد ذلك ، بمجرد انتهاء كل شيء ، ستتمكن من رؤية النتائج لكل تكرار.
قد تكون هذه الميزة مفيدة حقًا عندما تحتاج إلى اختبار التطبيق الخاص بك في العديد من البيئات (في المثال الخاص بي ، مع إصدارات مختلفة من JDK أو قاعدة البيانات).
لاحظ أنه باستثناء محور JDK ، عليك أن تدير بنفسك العقار الذي تم تقديمه من قبل Hudson. في المثال الخاص بي ، يجب أن يأخذ التطبيق في الاعتبار خاصية "قاعدة البيانات" نفسها. في النهاية ، هناك فكرة جيدة هي استخدام هذه الخاصية لتمكين ملف تعريف معين في تكوين Maven2 ، إذا تم تعزيز المشروع (انظر هنا لمزيد من التفاصيل حول ذلك).
آمل أن تكون توضيحاتي واضحة بما فيه الكفاية :)
نصائح أخرى
تصاعد Matrix لها عدد من المشكلات:
- لا تتوافق مع الإضافات على نطاق واسع - فهي تتحسن ، لكن عليك أن تحتفظ كثيرًا.
- القطع الأثرية - أكثر صعوبة في التخلص منها - عنوان URL أكثر حرجًا قليلاً ، فإن العثور عليها على FS (والتي يجب أن تجنبها على أي حال) أصبح الآن كابوسًا.
هذا عار ، لأن المفهوم جيد جدًا ومفيد للغاية حيث يعمل.
يحرر
- عدم القدرة على بدء نقاط واحدة.
تتمثل طريقنا المعتاد في هذا الأمر إلى إنشاء تصميمات معلمة لتشغيلها بشكل متزامن - والتي تأتي مع مشاكلها الخاصة ، ولكنها توفر لنا العديد من الوظائف بنفس الكود والثوابت المختلفة.