Frage

bekam ich vom Wochenende zurück, dass jemand **** ahem zu entdecken **** eine Datei begehen verpasst hatte Steuer letzte, was Freitagnachmittag ... Cruise hat Spaß gemacht hat und versucht, wieder aufzubauen alle fünf Minuten seitdem trotz keine weiteren Commits.

Das bedeutet, dass meine Kollegen und ich haben etwa sechs hojillion E-Mails von Tempomat empfangen. Eine einzelne E-Mail fehlschlagen wäre mehr als genug, um uns zu informieren.

Gibt es eine Möglichkeit zu stoppen Tempomat Gebäude bei einem Fehler, zumindest, bis ein neues Commit auftritt?


Bearbeiten : hinzugefügt 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>

War es hilfreich?

Lösung

Ist das nicht buildafterfailed Attribut <project> das, was Sie brauchen?

Beschreibung des Attributs in der CruiseControl- Config Referenz :

  

Should CruiseControl- halten sich auf den Aufbau, obwohl es ausgefallen ist und keine neuen   Modifikationen erkannt werden? Diese Funktion ist nützlich, wenn Sie wollen CruiseControl-   zu erkennen Situationen, in denen ein Build wegen außerhalb Abhängigkeiten fehlschlägt   (Wie temporäre andernfalls Datenbankverbindung).

Andere Tipps

Ich dachte, es war möglich zu konfigurieren Tempomat nur bauen, wenn es Änderungen in dem Versionskontrollsystem erkannt. Wenn die Build bricht, und Sie überprüfen nichts in, Cruise sollte einfach das Repository Quellcode überprüfen, keine Änderungen finden, und bis zum nächsten Mal wieder schlafen gehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top