3

週末から戻ってきて、誰かが**** ahem ****が金曜日の午後に最後にファイルのコミットを逃したことを発見しました...クルーズコントロールは楽しんでいて、それ以来5分ごとに再構築を試みました。それ以上のコミットはありません。

これは、私の同僚と私がクルーズコントロールから約6通の電子メールを受け取ったことを意味します。失敗したメールは1通で十分です。

少なくとも新しいコミットが発生するまで、失敗時にクルーズコントロールの構築を停止する方法はありますか?


編集configxmlを追加しました

<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>

4

2 に答える 2

2

buildafterfailedあなたが必要とするものの属性ではありません<project>か?

CruiseControl構成リファレンスの属性の説明:

CruiseControlは、失敗して新しい変更が検出されなくても、ビルドを続行する必要がありますか?この機能は、外部の依存関係(データベース接続の一時的な失敗など)が原因でビルドが失敗する状況をCruiseControlで検出する場合に役立ちます。

于 2010-05-17T18:41:54.650 に答える
1

バージョン管理システムの変更を検出した場合にのみビルドするようにクルーズコントロールを構成することは可能だと思いました。ビルドが壊れて何もチェックインしない場合、Cruiseはソースコードリポジトリをチェックし、変更がないことを確認して、次回までスリープ状態に戻る必要があります。

于 2010-05-16T23:03:33.197 に答える