Domanda

I tornato dal fine settimana per scoprire che qualcuno **** **** ahem aveva perso un file commettere ultima cosa controllo Venerdì pomeriggio ... Cruise sta avendo divertimento, e ha cercato di ricostruire ogni cinque minuti da allora nonostante ulteriori commit.

Ciò significa che i miei colleghi ed io abbiamo ricevuto circa sei messaggi di posta elettronica hojillion dal cruise control. Una singola fallire e-mail sarebbe più che sufficiente per informarci.

C'è un modo per edificio fermata cruise control in caso di fallimento, almeno fino a quando un nuovo commit si verifica?


Modifica : Aggiunto 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>

È stato utile?

Soluzione

Non è attributo buildafterfailed del <project> la cosa avete bisogno?

Descrizione dell'attributo nel CruiseControl config riferimento :

  

dovrebbe CruiseControl continuare a costruire, anche se non è riuscita e non nuovo   vengono rilevate modifiche? Questa funzione è utile se si desidera CruiseControl   per rilevare le situazioni in cui un accumulo non riesce a causa delle dipendenze esterne   (Come connessione al database mancanza temporanea).

Altri suggerimenti

Ho pensato che fosse possibile cruise control Configura per costruire solo quando ha rilevato cambiamenti nel sistema di controllo della versione. In caso di rottura di compilazione, e non controlli nulla, Cruise dovrebbe semplicemente controllare il repository del codice sorgente, trovare nessun cambiamento, e tornare a dormire fino la prossima volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top