Sto tentando di automatizzare il processo di generazione/distribuzione.Come MSDeploy un pacchetto di sito Web incorporato in un sito IIS vergine
Finora sto usando:
- una soluzione di Visual Studio 2010 con un principale progetto Web Application (e progetti dipendenti)
- MSBuild
- MSDeploy
- CruiseControl.Net
Quindi dopo molte discussioni e stridore di denti, ora CCNet ha avviato uno script MSBuild per creare, impacchettare e distribuire il sito Web. La sceneggiaturaMSBuild è qui sotto:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<MSBuild Projects="$(CCNetWorkingDirectory)\src\Product.sln"
Targets="Clean;Rebuild"
Properties="Configuration=$(Configuration)"
/>
</Target>
<!--<Target Name="Test" DependsOnTargets="Build">
<MSBuild Projects="$(CCNetWorkingDirectory)\src\Product.Web.Tests\Product.Web.Tests.csproj"
Properties="Configuration=$(Configuration);OutputPath=$(CCNetArtifactDirectory)\Tests\" />
<Exec Command="$(MSTestPath) /testcontainer:$(CCNetArtifactDirectory)\Tests\Product.Web.Tests.dll /runconfig:$(CCNetWorkingDirectory)\src\Local.testsettings" ContinueOnError="false" />
</Target>-->
<Target Name="Package" DependsOnTargets="Build">
<MSBuild Projects="$(CCNetWorkingDirectory)\src\Product.Web\Product.Web.csproj"
Targets="Package"
Properties="Configuration=$(Configuration);PackageLocation=$(PackageDir)\Product.zip"
/>
</Target>
<Target Name="Deploy" DependsOnTargets="Package">
<Exec Command=""$(MSDeployPath)" -source:package='$(PackageDir)\Product.zip' -dest:auto,computerName='$(MSDeployComputerName)',includeAcls='False' -verb:sync -setParamFile:$(PackageDir)\Product.SetParameters.xml" ContinueOnError="false" />
</Target>
Questo tutto funziona bene fino a quando sul computer di destinazione esiste già un sito web configurato in IIS. Questo non ha bisogno di essere un sito "reale" esistente (potrebbe essere solo una shell).
Mentre questo è ottimo, desidero veramente che MSDeploy crei automaticamente il sito Web, come sembra possa fare con un'app Web. È possibile? E se così fosse qualsiasi aiuto sarebbe molto apprezzato!
Questo è anche quello che ho trovato - Ho usato msdeploy -verb: sync -source: runCommand = c: \ mycommand.bat, computername = MyServer -dest: auto, dove mycommand.bat contiene i comandi appcmd.exe per crea il nuovo sito in IIS – zcrar70