سؤال

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

لقد بحثت في Phing من قبل، وأدركت أنه يشبه Ant بشكل أساسي.لكن تجربتي مع Ant محدودة إلى حد ما، لذا لا يساعدني ذلك كثيرًا.(معظم أعمال Java التي قمت بها تم نشرها كملف jar).

لقد بحثت في نظام تثبيت السرعة من قبل، وأدركت أن phpUnderControl هو مكون إضافي لـ CC.لكن Phing يقول إنه يعمل أيضًا مع CC.لذلك لست واضحًا بشأن التداخل هنا.هل أحتاج إلى كل من Phing وphpUnderControl للعمل مع CruiseControl، أم أنهما حصريان لبعضهما البعض؟

ما أحتاجه بالضبط هو شيء يمكنه:

  • تحقق من المصدر من SVN
  • تثبيت قاعدة البيانات من ملف SQL
  • قم بإنشاء بعض ملفات التكوين المحلية من سلسلة من القوالب وملف ini
  • قم بتشغيل جميع اختبارات الوحدة الخاصة بنا (حاليًا ST، ولكن من السهل تحويلها إلى PHPUnit) وأرسل بريدًا إلكترونيًا إلى فريق التطوير في حالة تعطل أي اختبارات (مع تتبع المكدس بالطبع)
  • قم بإنشاء وثائق API للتطبيق ووضعها في مكان ما
  • قم بتشغيل تقرير تغطية الاختبار

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

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

المحلول

phing هو إلى حد كبير مكتوب بلغة PHP حيث يضيف phpUnderControl دعمًا لمشاريع PHP إلى CruiseControl ويستخدم phing أو ant على الواجهة الخلفية لتحليل ملف build.xml وتشغيل الأوامر.

لقد قمت للتو بإعداد CruiseControl وphpUnderControl وكان يعمل بشكل رائع.فهو يقوم بفحص SVN الخاص بي، وتشغيله من خلال phpDocumentor، وPHP_CodeSniffer، وPHPUnit عندما نقوم بالتحقق.وبما أن كل ذلك يعتمد على ملف build.xml، فيمكنك تشغيل أي برنامج تريده من خلاله.

نصائح أخرى

أنا متأكد من أن الكثير من الناس سيقولون هذا عندما أكتب هذا ولكن ...

أعلم أنها ليست PHP ولكننا نجدها كابيسترانو مجرد وظيفة لهذا النوع من الشيء.انها حقا قطعة ممتازة من البرمجيات.

لقد كنا نستخدم Phing، وكانت تكلفة إعداده منخفضة جدًا؛من السهل حقًا التعلم حتى لو كنت لا تعرف ANT.لقد مررت بتجارب سيئة للغاية مع CruiseControl (عدم الاستقرار - النزول بشكل عشوائي) - لذلك أحب بساطة Phing.بالإضافة إلى ذلك، فهو قابل للتوسيع بسهولة باستخدام PHP (في حالة وجود مهمة مخصصة لا يدعمونها خارج الصندوق).

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