Come posso smettere di controllo di crociera ricostruzione dopo una generazione non riuscita?
-
27-09-2019 - |
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>
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.