2009-08-19 18 views

risposta

0

Io di solito uso il compito Build Publisher di distribuire i file su server remoti. È anche possibile scrivere uno script con un comando xcopy da distribuire.

0

È possibile utilizzare Web Deployment Projects per aiutare con questo pure. Nel file WDP è possibile utilizzare l'elemento ExcludeFromBuild per escludere tali file. Per maggiori informazioni vedi http://msdn.microsoft.com/en-us/library/aa479568.aspx.

Ciò avrebbe gestito il sito per ottenere pre-compilato per voi per poi pubblicare a un altro server dev, questo dipende da come si distribuisce ora. Se si copia su condivisione di rete o ftp, è possibile farlo anche con MSBuild. Non ho familiarità con il Build Publisher che la risposta precedente menziona.

+0

cosa succede se si voleva pubblicare il web app (MVC) e non si dispone di visual Studio installato sul server, come si va sulla costruzione e la pubblicazione? – Haroon

0

ho trovato this blog molto utile. Essenzialmente si punta il file ccnet.config in un file MSBuild.xml che si crea nella directory del progetto. All'interno del MSBuild.xml file che si crea un obiettivo che si baserà e pubblicare l'applicazione web utilizzando l'opzione _CopyWebApplication

2

Per la pubblicazione di siti web a un server di sviluppo dopo che è costruito sul mio server CI in CruiseControl.NET, io uso Microsoft Web Deploy . È necessario installare il servizio di distribuzione su qualsiasi server che costituirà un obiettivo di distribuzione. Quindi è possibile semplicemente aggiungere un passaggio di esecuzione al processo di generazione che esegue msdeploy.exe. Ecco un esempio che uso a Nant:

 <exec program="C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy.exe"> 
     <arg value="-verb:sync"/> 
     <arg value="-source:dirPath=&quot;${tmpdir}&quot;"/> 
     <arg value="-dest:dirPath=&quot;${deploy.dir}&quot;,computerName=http://${servername}/msdeploymentservice/"/> 
    </exec> 

Utilizzando Web Deploy, si può facilmente fare una sincronizzazione completa dei contenuti del sito web, rimuovendo le cose che non dovrebbero essere lì. Ha anche altre opzioni per fare le cose come ignorare alcune directory ed eseguire i comandi di riciclare piscine app, ecc

2

La mia soluzione per CCNet con la web.config trasformazione:

<tasks> 
    <msbuild> 
     <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
     <workingDirectory>E:\VersionesCC\Trunk_4\SBatz\Gertakariak_Orokorrak\GertakariakMS\Web</workingDirectory> 
     <projectFile>GertakariakMSWeb2.vbproj</projectFile> 
     <targets>Build</targets> 
     <timeout>600</timeout> 
     <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger> 
     <buildArgs> 
      /noconsolelogger /p:Configuration=Release /v:diag 
      /p:DeployOnBuild=true 
      /p:AutoParameterizationWebConfigConnectionStrings=false 
      /p:DeployTarget=Package 
      /p:_PackageTempDir=E:\Aplicaciones\GertakariakMS2\Web 
     </buildArgs> 
     </msbuild> 
</tasks> 
Problemi correlati