Domanda

OK, sappiamo tutti che la creazione quotidiana è il cuore pulsante di un progetto, ma qual è il modo migliore per automatizzarlo?

Disponiamo di script Perl che avvolgono la nostra pipeline che include ClearCase, VS2005 (C++), Intel FORTRAN, Inno setup.Utilizziamo lavori cron su UNIX per pianificare la compilazione e ospitiamo un semplice server Web Apache per visualizzare e monitorare la compilazione.Tutto sommato è piuttosto complesso, vorrei sapere qual è la migliore soluzione pronta all'uso che le persone usano?

E sì, ho detto che FORTRAN non può scappare a volte, funziona, non ha senso fare un enorme progetto di reimplementazione per un codice FEA provato e testato che funziona e basta.

È stato utile?

Soluzione

Stiamo implementando CC.Net.Finora sembra che si adatterebbe abbastanza bene al tuo modello.

Offre subito creazione automatizzata, monitoraggio dei risultati e notifiche.Tuttavia, non sono sicuro di quanto sia dettagliato il monitoraggio dell'avanzamento della costruzione.

Altri suggerimenti

Uno nuovo per me che ho sentito è piuttosto fluido Hudson - anche con supporto MSBuild.

Esistono molti strumenti che gestiscono specificamente questo:

Gli strumenti supportano immediatamente i tipi di build più comuni.Supportano tutti anche una sorta di processo di compilazione di tipo "esegui questo script".

Alla fine dovresti utilizzare gli strumenti di creazione più carini (MSBuild, Ant, Maven, Make, ...) dove puoi e colmare le lacune per gli strumenti più strani con script personalizzati.La build automatizzata può semplicemente richiamarli nell'ordine corretto.

Ecco la migliore risorsa che abbiamo trovato per aiutarci a scegliere uno strumento di integrazione continua.Abbiamo valutato 5 o 6 strumenti in questa pagina.

http://confluence.public.thinkworks.org/display/CC/CI+Feature+Matrix

Noi usiamo TeamCity - ma poi è un semplice sviluppo C#/Java - forse la tua pipeline può essere eseguita tramite script che può guidare?

Ho avuto successo utilizzando Creazione visiva professionale.

CC.NET è molto potente.L'ho usato e ne sono rimasto davvero contento.Anche l'icona di stato nella barra delle applicazioni.È un piccolo dettaglio, ma dà una buona visione dello "stato di salute" del progetto.Ti senti immediatamente motivato a correggere i test quando lo vedi rosso.

Ora utilizziamo una serie di script autoprodotti.Dato che scriviamo Python, la compilazione è inesistente, quindi l'unico problema è eseguire i test.

Se lavori con Visual Studio, assicurati di dare un'occhiata Costruzione della base del team per vedere se è adatto alla tua situazione.

Sembra quello di Buck Hodges post sul blog sulla versione VS 2008 è anche una buona risorsa.

So che questa è una domanda molto vecchia, ma sta ancora emergendo nelle ricerche, quindi qualcuno dovrebbe menzionarla Jenkins - la continuazione open source di Hudson.

Dal Wiki di Jenkins:

Tra queste cose, l'attuale Jenkins si concentra sui seguenti due lavori:

  • Costruire/testare progetti software continuamente, proprio come CruiseControl o DamageControl.In poche parole, Jenkins fornisce un cosiddetto sistema di integrazione continua facile da usare, rendendo più semplice per gli sviluppatori integrare le modifiche al progetto e rendendo più semplice per gli utenti ottenere una nuova build.La costruzione automatizzata e continua aumenta la produttività.
  • Monitoraggio dell'esecuzione di lavori eseguiti esternamente, come i lavori cron e procmail, anche quelli eseguiti su una macchina remota.Ad esempio, con cron, tutto ciò che ricevi sono normali e-mail che catturano l'output e spetta a te guardarle diligentemente e notare quando si è rotto.Jenkins conserva questi output e ti consente di notare facilmente quando qualcosa non va.

È stato originariamente creato pensando a Java, quindi si integra bene con molti altri strumenti Java, ma puoi usarlo con qualsiasi linguaggio, compresi tutti quelli menzionati dall'OP.

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