كيف يمكنني التوقف عن إعادة بناء التحكم في التطواف بعد الفشل؟

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

سؤال

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

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

هل هناك أي طريقة لوقف بناء التحكم في التطواف على الفشل ، على الأقل حتى يحدث التزام جديد؟


تعديل: تمت إضافة Config XML

<project name="XXXX">
<listeners>
  <currentbuildstatuslistener file="logs/${project.name}/status.txt" />
</listeners>
<bootstrappers>
  <svnbootstrapper file="https://XXXXX/trunk/build/cruisecontrol.xml" username="XXXX" password="XXXX" />
</bootstrappers>
<modificationset quietperiod="300">
  <svn localWorkingCopy="projects/${project.name}/" RepositoryLocation="https://XXXXX/trunk/project1" username="XXXX" password="XXXX" />
  <svn localWorkingCopy="projects/${project.name}/" RepositoryLocation="https://XXXXX/trunk/project2" username="XXXX" password="XXXX" />
  <svn localWorkingCopy="projects/${project.name}/" RepositoryLocation="https://XXXXX/trunk/project3" username="XXXX" password="XXXX" />
  <svn localWorkingCopy="projects/${project.name}/" RepositoryLocation="https://XXXXX/trunk/project4" username="XXXX" password="XXXX" />
</modificationset>
<schedule interval="300">
  <ant anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build/cruisecontrol.xml" propertyfile="projects/${project.name}/project1/production.build.properties" />
</schedule>
<log dir="logs/${project.name}/">
  <merge file="projects/${project.name}/_reports/checkstyle_report.xml" />
  <merge dir="projects/${project.name}/_reports/pmd_report.xml" />
  <merge dir="projects/${project.name}/_reports/junit" />
</log>
<publishers>
  <onsuccess>
    <artifactspublisher dest="artifacts/${project.name}" dir="projects/${project.name}/_dist" />
    <artifactspublisher dest="artifacts/${project.name}" dir="projects/${project.name}/_reports" subdirectory="_reports"/>
  </onsuccess>
  <email spamWhileBroken="true" returnAddress="XXX@EXAMPLE.com" subjectPrefix="[BUILD]" buildResultsURL="http://XXXXX/dashboard/build/detail/project" mailHost="mail.EXAMPLE.com" skipUsers="true" >
    <failure address="XXX@EXAMPLE.com" />
    <success address="XXX@EXAMPLE.com"/>
 </email>
</publishers>

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

المحلول

ليس buildafterfailed سمة <project> الشيء الذي تحتاجه؟

وصف السمة في مرجع تكوين CruisEcontrol:

هل يجب أن يستمر Cruisontrol في البناء على الرغم من فشله ولم يتم اكتشاف أي تعديلات جديدة؟ هذه الميزة مفيدة إذا كنت تريد أن يكتشف Cruisecontrol المواقف التي يفشل فيها البناء بسبب التبعيات الخارجية (مثل اتصال قاعدة البيانات المؤقتة).

نصائح أخرى

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

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