Kuruluş/dağıtım işlemimizi otomatikleştirmeye çalışıyorum.Oluşturulmuş bir web sitesi paketini Microsoft IIS web sitesine nasıl eklersiniz
Şimdiye kadar kullanıyorum:
- bir ana Web Uygulaması projesi (ve bağımlı projelerde)
- MSBuild
- MSDeploy
- ile Visual Studio 2010 çözüm CruiseControl.Net
Dişlerin çoğalması ve gıcırdamasından sonra, şimdi CCNet'in web sitesini oluşturmak, paketlemek ve dağıtmak için bir MSBuild betiğini başlatıyorum. MSBuild komut aşağıdaki gibidir:
<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>
Bu, tüm IIS yapılandırılmış bir web sitesi zaten var hedef makinede sürece iyi çalışır. Bunun mevcut bir "gerçek" site olması gerekmez (sadece bir kabuk olabilir).
Bu harika olsa da, MSDeploy'un bir web uygulamasıyla yapabileceği gibi web sitesini otomatik olarak oluşturmasını gerçekten istiyorum. Mümkün mü? Ve eğer öyleyse, herhangi bir yardım çok takdir edilecektir!
Bu da bulduğum şeydir - msdeploy -verb kullanılır: sync -source: runCommand = c: \ mycommand.bat, computername = MyServer -dest: auto, mycommand.bat appcmd.exe komutlarını içerir. IIS – zcrar70