7

Abbiamo diversi ambienti di integrazione continua Hudson configurati con build e test automatici, tuttavia non eseguiamo alcun tipo di distribuzione automatizzata per testare gli ambienti.Distribuzione di applicazioni Web ASP.NET dal server Hudson Build/CI

Mi chiedevo come altri team stiano distribuendo le loro applicazioni Web ASP.NET. Le nostre build impacchettano le risorse di una build con alcuni script per arrestare/avviare IIS, quindi dobbiamo accedere a ciascun server ed eseguire il programma di installazione per installare l'app Web.

Questo sta diventando un po 'un collo di bottiglia nel nostro processo e stavo cercando suggerimenti per semplificare e/o automatizzare il processo senza dover accedere a ciascun server per installare l'ultima build.

+1

Hai mai finito per utilizzare MSDeploy e Hudson? Se è così puoi condividere simpatie, antipatie, suggerimenti per la configurazione? –

risposta

4

Se si utilizza un ambiente basato su Unix/Linux, è possibile controllare Fabric o Capistrano. Consentono distribuzioni automatizzate di applicazioni Web.

Edit:

Se siete su Windows, si consiglia di controllare le Web Deployment Tool for IIS. Questo sembra essere ancora nella fase di "Anteprima tecnologica", ma potrebbe funzionare per voi - non ho esperienza personale con essa.

+0

Purtroppo, siamo quasi interamente un negozio di Windows. – jamesaharvey

+1

Quando ho fatto un sacco di sviluppo ASP.NET, abbiamo scritto un codice personalizzato dietro CruiseControl.NET per fare questo.Si consiglia di Google "Strumento di distribuzione Web per IIS": non sono sicuro dello stato di questo progetto Microsoft, ma so che alla fine farà ciò che desideri. –

0

Non l'ho mai usato, ma sembra che Cargo potrebbe essere una soluzione.

1

Stai cercando di implementare in un singolo ambiente o vuoi automatizzare le distribuzioni in tutto l'ambiente?

Se lo si sta eseguendo in un singolo ambiente, in genere è facile eseguire lo script in modo che avvenga automaticamente dal proprio server CI, automaticamente dopo ogni generazione, ogni notte o anche su richiesta.

Ma idealmente ti piacerebbe utilizzare la stessa automazione di distribuzione in tutti gli ambienti, dal test alla produzione. In tal caso potrebbe essere sensato parlare con le persone dell'Op e scoprire come stanno facendo le loro implementazioni e sviluppare alcuni script comuni. Quando noi (Urbancode/AnthilPro) parliamo di deployment automation di solito parliamo di cosa stiamo parlando e cosa consigliamo ai nostri clienti.

Se hai bisogno di convincere qualcuno che vale la pena fare questo investimento, potresti trovare utile questo white paper Build & Deployment Automation for the Lean Economy (pdf, registrazione richiesta). In essa utilizziamo la tecnica Lean di Value Stream Mapping per illustrare perché l'automazione delle distribuzioni è una grande vittoria per il team. Quando ti rendi conto di quanto "spreco" ci sia nelle distribuzioni manuali del tipo che stai descrivendo l'investimento nell'automazione è un gioco da ragazzi.

JTF

+0

Abbiamo più di 10 ambienti di test e oltre 100 server di produzione che distribuiamo manualmente al momento. – jamesaharvey

+0

Yikes! Bene, pensa a tutto il tempo che torni dall'automazione! :) Ti consiglio di modificare le tue domande per descrivere le tecnologie che stai utilizzando sul tuo server: IIS vs Apache vs JBoss ecc., PHP vs .NET vs Java ecc. Penso che otterrai risposte migliori con questi dettagli aggiuntivi . –

0

Easiets modo è troppo usare Hudson/Jenkins troppo farlo. Io uso un semplice deploy.bat che viene chiamato dal comando batch sotto la build di jenkins.

Lo script sembra somthing come questo:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://server:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="Default Web Site" /p:Username=serverinstance\user /p:Password=somepassword /p:VisualStudioVersion=11.0 

Poi installazione di IIS anche consentire le connessioni remote. E sei bravo anche tu!

Problemi correlati