2010-09-14 92 views
8

Sto provando a configurare CruiseControl per creare il progetto ad ogni modifica del codice sorgente e ogni giorno alle 3:00. Questo è quello che ho fatto finora in project.xml (e non funziona, build giornaliere non sono fatto):come configurare CruiseControl per due build separati?

... 
<schedule interval="120"> 
    <maven2 … /> 
    <maven2 … time="0300"/> 
</schedule> 
... 

Che cosa sto facendo di sbagliato?

+0

CruiseControl o Cruisecontrol.NET? Seleziona il tag appropriato –

+0

@Il Presidente è CruiseControl 2.8.3 – yegor256

risposta

1

quanto ho capito non v'è alcuna possibilità in CruiseControl per fare questo :(

+0

Lo facciamo e lo abbiamo fatto per diversi anni con CruiseControl. Quindi è sicuramente possibile, per favore vedi la mia risposta. – daramarak

0

Stavo usando ScheduleTrigger per CruiseControl.net. Server CI

Qualche tempo fa ho migrato da CC.net a TeamCity - fare dare un'occhiata a esso (hanno versione gratuita pure). E 'molto meglio e più facile da configurare (dire addio a quelle enormi ingestibili file di configurazione XML ;-)

+0

È possibile utilizzare questo plugin con CruiseControl 2.8.3? A proposito, quegli enormi file XML sono una buona cosa per me, dal momento che posso configurare CC automaticamente, senza alcuna interfaccia utente. – yegor256

+0

@Vincenzo - Non penso che tu possa usarlo in CC (è in CC.net). Come nota a margine, ho anche pensato una volta che avere un generatore di file di configurazione cc automatico è una cosa carina.In TeamCity non hai bisogno di tanta configurazione (hanno modelli di build, ecc.) –

+0

Grazie per il tuo commento, ma non posso migrare a CC.net (a causa della piattaforma), e non sono pronto a migrare a TeamCity. Quindi, sto cercando una soluzione per CruiseControl 2.8.3. – yegor256

2

Ho eseguirne usano cc.net, ma quando ho capito bene la documentazione si hanno due opzioni:

  • Usa 2 progetti
  • Impostare l'attributo requireModifications-false (che non è esattamente quello che si vuole)

Cosa succede con la configurazione è la seguente: la build "modifica" sarà eseguito per tutta la giornata e quindi alle 03:00 CruiseControl non può rilevare alcuna modifica (almeno lo assumerei). Poiché non ci sono modifiche, la build giornaliera non viene eseguita.

Dal documentation:

... generalmente non è una buona idea di mescolare tempo costruisce e multipla costruisce nello stesso progetto come il multiplo costruisce si "mangia" tutti i cambiamenti prima che possano essere rilevati da le build basate sul tempo.

+0

È possibile realizzare ciò che sto cercando di fare? – yegor256

+0

Penso di sì. Definisci due progetti: uno per la compilazione notturna e uno per le modifiche di "modifica". –

0

ho pensato a un modo, lo script di build diviso per rendere i plug-in

Ad esempio:. https://github.com/LightWare/LightCI/blob/master/config.xml

+0

Benvenuti in Stack Overflow! Benvenuto in StackOverflow. Questa domanda è vecchia e ha già avuto risposta. In genere, è preferibile non risorgere i thread non aggiornati a meno che la risposta non contribuisca a qualcosa di significativamente nuovo o diverso rispetto alle risposte precedenti. – oers

1

ascoltiamo per le modifiche in un gitrepo e facciamo nightly build ogni notte, lo facciamo in questo modo:

<schedule interval="${buildtime}"> 
    <ant antscript="ant.bat" 
    buildfile="build.xml" 
    </ant> 
</schedule> 
<bootstrappers> 
    <gitbootstrapper localWorkingCopy="${checkout_folder}"/> 
</bootstrappers> 
<modificationset quietperiod="${quiettime}" 
     Ignorefiles="${ignorelist}"> 
    <git localWorkingCopy="${checkout_folder}"/> 
    <timebuild username="Cruisecontrol nightwatch" 
    time="0300" 
    property="build_nightly"/> 
</modificationset> 

Come vedete qui l'indizio qui è che la build temporizzata è posizionata nello modificationset, non nello schedule, quindi ad ogni ora programmata controllerà se il repository git è cambiato o è giunto il momento di fare la compilazione notturna.