Domanda

Sono attualmente in fase di impostazione di una continua integrazione ambiente di lavoro.Stiamo usando VisualSVN Server e CrusieControl.NET.Occasionalmente una generazione avrà esito negativo e un sintomo è che non ci sono conflitti CruiseControl.NET copia di lavoro.Credo che questo è a causa del modo in cui ho impostato le soluzioni di Visual Studio.Speriamo che i progetti si esegue in questo ambiente, il meglio la nostra comprensione di come impostare sarà così io non sono in discussione perché i conflitti che avvengono in questa fase.Per risolvere le generazioni mi elimina la copia di lavoro e la forza di una nuova costruzione, funziona ogni volta che (attualmente).Quindi le mie domande sono:è di eliminare la copia di lavoro di un valido parte di una continua integrazione del processo di compilazione, e come faccio ad andare su di esso?

Ho cercato soluzioni, tra cui MSTask e la chiamata di eliminare dalla riga di comando, ma io non avendo alcuna fortuna.

Mi dispiace di essere così prolisso - buon lavoro, questa è una beta :)

È stato utile?

Soluzione

Facendo un pieno di eliminare prima o dopo la tua build è buona pratica.Questo significa che non vi è alcuna possibilità di costruire l'ambiente raccogliendo una data di file.Il tuo edificio esattamente contro quello che si trova nei repository.

Eliminare la copia di lavoro è possibile, come ho fatto con Nant.

In Nant vorrei avere una pulizia di script nella propria cartella di fuori quello che si desidera eliminare e quindi necessario richiamare da CC.net.

Presumo che questo dovrebbe essere possibile anche con un file batch.Date un'occhiata al comando rmdir http://www.computerhope.com/rmdirhlp.htm

@pauldoo

Io preferisco che il mio server CI fare un pieno di eliminare non voglio alcuna sorpresa quando vado a fare una build di rilascio, che dovrebbe sempre essere fatto da uno stato pulito.Ma si dovrebbe essere in grado di gestire sia, alcun motivo per cui non

Altri suggerimenti

@jamie:C'è una ragione per cui si potrebbe non essere in grado di fare una build pulita ogni volta quando si utilizza un server di continuous integration -- tempo di costruzione.Su alcuni progetti su cui ho lavorato, pulito costruisce prendere 80+ minuti (un integrato di progetto consistono in migliaia di C++ file alla cassa e quindi compilare contro bersagli multipli).In questo caso, è necessario pesare i benefici di feedback rapido contro il rischio che una nuova generazione si cattura qualcosa che una generazione incrementale non.Nel nostro caso, abbiamo lavorato per migliorare e mettere in parallelo il processo di costruzione, mentre allo stesso tempo permettendo incrementale sul nostro IC macchina.Abbiamo fatto un po ' di problemi perché non stavamo facendo pulire costruisce, ma facendo una nuova generazione di notte o settimanale, è possibile rimuovere il rischio senza perdere fast feedback dei vostri IC macchina.

Se fai il check-out CC.NET's jira c'è una patch per il check-in per implementare CleanCopy per Subversion che fa esattamente quello che vuoi e basta impostare CleanCopy uguale a true all'interno del controllo del codice sorgente di blocco, proprio come il TFS uno.

È molto comune e generalmente una buona pratica per qualsiasi processo di build, fare un "pulito" prima di fare qualsiasi significativo sviluppo.Questo impedisce eventuali artefatti da versioni precedenti di caricare l'uscita.

Un ambiente pulito è essenzialmente ciò che si sta facendo, eliminando la copia di lavoro.

@Brad Barker

Pulire significa solo eliminare costruire prodotti.

Eliminare la copia di lavoro elimina tutto il resto troppo (di origine e file di progetto, ecc).

In generale è bello se sei di costruire macchine in grado di operare senza fare una completa eliminazione, come questo, che replica quello che un normale sviluppatori.Eventuali conflitti trova durante l'aggiornamento sono un avvertimento ai quali gli sviluppatori possono aspettare.


@jamie

Per formale rilascia sì, è meglio fare una completa pulizia di checkout.Quindi credo che dipende dallo scopo di costruire.

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