Domanda

Ho impostato cruisecontrol.net cs per il mio progetto che ha un numero di moduli e componenti che vengono compilati e archiviati in una cartella per data sulla macchina di compilazione. Il fatto è che devo effettuare l'installazione per l'applicazione ( wpf non web) e il fatto è che dal momento che ci sono un numero di moduli e diverse soluzioni che costruiscono e infine rendono il prodotto (dlls) ecc. Qualche suggerimento su come elaborare una strategia di installazione che creerà una configurazione notturna e anche quale configurazione pacchetto da usare (qualcosa di più semplice o secondo te che richiederebbe meno tempo) Stavo progettando di installare qualcosa sulla macchina di compilazione che avrebbe prelevato i file dalla cartella (quale cartella?) e rendere l'installazione ...

Un link per illustrare il punto è Build notturno di Firefox .

Qualche consiglio ragazzi

Grazie in anticipo.

È stato utile?

Soluzione

Sto scoprendo che questo sistema funziona abbastanza bene per me. Presumo che VS 2005/2008 e C #, ma lo stesso principio funzioni per altri compilatori e lingue, sostituisce semplicemente il tuo aroma.

Uso di CC.NET

  • Scopri tutte le fonti con scheduleTrigger, se più posizioni utilizzano
  • Usa MSBuild per creare ogni soluzione richiesta (presupponendo VS 2005/2008), o nant, o qualunque strumento di compilazione funzioni meglio per compilare i tuoi progetti di componenti
  • Usa MSBuild per creare i programmi di installazione di WIX, anche se ho anche usato MSBuild per creare le installazioni di InnoSetup e Wise Installation Studio
  • Utilizzare MSBuild per aggiornare i file AssemblyInfo.cs per tutti i progetti che si desidera controllare lo script di compilazione
  • Utilizzare la riga di comando del controllo del codice sorgente per archiviare i file AssemblyInfo.ca aggiornati
  • Infine usa MSBuild per copiare il programma di installazione dell'output in una nuova cartella nel tuo server di destinazione. Uso il timestamp dall'eseguibile del prodotto principale per creare un timestamp insieme al numero di versione generato per nominare la cartella (../Builds/Product/v.M.m.r.p - DATE TIME /)

Mi piace anche generare un'e-mail di avviso di costruzione alla fine.

Come per consigli per l'installazione , c'è un compromesso.

Per una generazione veloce, utilizzare un programma di installazione di script come NSIS o Inno Setup. Lo svantaggio non è compatibile con Windows Installer.

Per i prodotti Windows Installer, l'utilizzo di Wise o InstallShield è più veloce da generare per la prima volta, ma strumenti costosi e trovo che la manutenzione degli script di installazione sia elevata. L'uso di WIX tende ad essere molto più costoso la prima volta (curva di apprendimento + angolo parentale-imposta), ma poi più facile da mantenere in quanto è tutto XML e gli strumenti da riga di comando sono facili da usare.

Ho avuto un certo successo con il bundle di installazione con Inno Setup poiché il bundling e il concatenamento di Windows Installer (almeno per Windows XP) è un vero problema.

Altri suggerimenti

Abbiamo usato Visual Build e Wise per la creazione del nostro installatore e lo abbiamo trovato estremamente intuitivo e facile da creare le configurazioni con. L'attuale progetto CC.NET fa alcune cose, la prima cosa è che controlla che tutte le parti necessarie siano state costruite con successo dall'ultima volta che abbiamo creato un programma di installazione (consentiamo agli installatori su richiesta e programmati ogni notte) se non sono stati compilati con successo ricostruiamo tutti i componenti, una volta che sono stati (o se lo sono già stati) con successo, chiamiamo VisualBUildPro e gli facciamo creare il programma di installazione. Visual Build Pro, gestisce tutta la copia e la chiamata di Wise per il programma di installazione effettivo. Una volta creato il programma di installazione, lo pubblichiamo nella destinazione in cui tutti si aspettano che sia. Abbiamo anche modificato l'XSL per l'editore di e-mail sul server builds, in modo che tutti ricevano un collegamento al programma di installazione più recente una volta pubblicato.

Alcune cose sulle build notturne, se puoi, dovresti provare a configurare un server di simboli e fare in modo che ogni installatore carichi simboli con informazioni sul codice sorgente fino a loro. Questo è anche un buon punto per avere qualsiasi documentazione (D'Oxygen; SandCastle) Creare e il tempo per eseguire la tua suite COMPLETA di test che hai a disposizione.

Dai un'occhiata a WiX . Questo set di strumenti consente di definire il progetto di installazione in formato XML, quindi genera l'MSI da questo XML. Il fatto che il progetto sia definito in XML ti dà molta flessibilità nel modificare questo XML al volo durante la compilazione (se necessario).

Si integra con MSBuild: vedi questo articolo e anche funziona bene con NAnt - vedi questo articolo .

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