Domanda

Sto cercando alcune raccomandazioni da fare progetto di costruzione e la distribuzione automatica.

La nostra configurazione attuale sviluppo utilizza ASP.NET, SVN, CCNet e uno script MSBuild per la costruzione di server dev. Stavo pensando di passare sopra a Cruise, invece di CCNet anche se non sono sicuro se questo mi dà qualcosa in più che non ho già.

Quello che mi piacerebbe di automatizzare il processo è da dopo una compilazione automatica è fatto per l'aggiornamento del sito in diretta con le nuove modifiche. aggiornamenti del sito possono includere sito di base aggiorna così come gli aggiornamenti dei client che può essere di codice e / o di database modifiche in modo che il processo deve essere sufficientemente flessibile in modo da poter gestire questi scenari.

Una delle mie fonti di ispirazione per questo è venuto da questo video così come le interminabili ore trascorse a fare gli aggiornamenti ogni mese.

È stato utile?

Soluzione

progetti più piccoli o personali , mi consiglia di utilizzare qualcosa come la libera (ed eccellente) TeamCity da JetBrains. Unità di automazione di test, l'integrazione continua, e le regole di ciò che accade dopo una build (tra cui si muove intorno a luoghi diversi).

le squadre più grandi , in realtà ho trovato un po 'di build automation sotto forma di attività MSBuild personalizzati e RoboCopy funziona meglio. Questa bella combinazione tra la promozione manualmente costruisce tra ambienti e utilizzando MSBuild & RoboCopy per automatizzare parti di questo processo crea pause pulire gli spazi fra gli ambienti (con pochissime 'oops non volevo spingere che c'e' errori). Essa permette inoltre di avere QA costruisce prima di promuovere.

Aggiornamento 2014/07/31:

Ho usato personalizzato TFS costruire modelli con successo. Sono un po 'complicato, ma si può fare un bel paio di cose interessanti con loro.

Per i progetti open source (come le biblioteche Nuget) ospitati su GitHub, non credo che si può battere AppVeyor . Ho un paio di progetti come Mailchimp.NET che hanno completa compilazione e NuGet implementano l'automazione.

Altri suggerimenti

Suona come le due principali funzioni per la distribuzione le modifiche codice è: file 1. Copia e 2. Esecuzione Script DB modifiche. Se si guarda al utilizzando Compiti MsBuild community ci sono un sacco di compiti di generazione a portata di mano che possono aiutare lungo la strada. SQLExecute e RoboCopy suonano come sarebbero tutto ciò che avrebbe bisogno di utilizzare. Ciò richiede di modificare i file di progetto di estendere il loro comportamento di compilazione, ma una volta fatto ciò si sarebbe in grado di "script" la porzione manuale di ciò che si sta facendo.

Ho usato Nant in passato con un sacco di fortuna per compiti simili. È possibile dare il via con la vostra compilazione automatica. ( http://nant.sourceforge.net/ )

Se si desidera qualcosa di più completo si può verificare Wix ( http://wix.sourceforge.net/)

Ora siete davvero sicuri che tutto una build automatica della protesi, prende il via si desidera aggiornare il sito live? O vuoi dire che dare il via una generazione, utilizzando lo strumento di cc, e quindi genera un accumulo di andare a vivere?

mi dispiacerebbe avere l'aggiornamento del sito in diretta quando qualcuno verificata in una nuova versione di un file.

I tuoi aggiornamenti del database sarà probabilmente l'aspetto più impegnativo. Tuttavia finché ciò che è il check-in per l'aggiornamento databvase è uno script cambiamento, non è male.

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