Here is an example of how to configure deployment of a web application on a development machine using MSBuild with the Extension Pack:
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Run" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> <Import Project="$(MSBuildProjectDirectory)\lib\trove\Framework\v2.0\MSBuild.Community.Tasks.Targets" /> <Import Project="$(MSBuildProjectDirectory)\lib\trove\Framework\v3.5\MSBuild.ExtensionPack.tasks" /> <Target Name="Run"> <CallTarget Targets="Clean" /> <CallTarget Targets="Build" /> <CallTarget Targets="Deploy" Condition="'$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp@MajorVersion)'=='7'" /> </Target> <Target Name="Clean"> <MSBuild Projects="$(MSBuildProjectDirectory)\src\Example.sln" Targets="Clean" Properties="Configuration=$(Configuration)" /> </Target> <Target Name="Build"> <MSBuild Projects="$(MSBuildProjectDirectory)\src\Example.sln" Targets="Rebuild" Properties="Configuration=$(Configuration)"> <Output TaskParameter="TargetOutputs" ItemName="CodeAssemblies" /> </MSBuild> </Target> <PropertyGroup> <WebApplicationName>www.example.net</WebApplicationName> <WebApplicationPath>$(MSBuildProjectDirectory)\src\Web Applications\Example</WebApplicationPath> </PropertyGroup> <Target Name="Deploy"> <MSBuild.ExtensionPack.Web.Iis7Website TaskAction="CheckExists" Name="$(WebApplicationName)"> <Output TaskParameter="Exists" PropertyName="WebApplicationExists" /> </MSBuild.ExtensionPack.Web.Iis7Website> <MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Create" Name="$(WebApplicationName)" Path="$(WebApplicationPath)" Port="80" AppPool="ASP.NET v4.0" Condition="'$(WebApplicationExists)'=='False'" /> <MSBuild.ExtensionPack.Web.Iis7Binding TaskAction="Remove" Name="$(WebApplicationName)" BindingInformation="*:80:" BindingProtocol="http" /> <MSBuild.ExtensionPack.Web.Iis7Binding TaskAction="Add" Name="$(WebApplicationName)" BindingInformation="127.0.0.127:80:$(WebApplicationName)" BindingProtocol="http" Condition="'$(WebApplicationExists)'=='False'" /> <MSBuild.Community.Tasks.Sleep Milliseconds="3000" /> <MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Stop" Name="$(WebApplicationName)" /> <MSBuild.Community.Tasks.Sleep Milliseconds="3000" /> <MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Start" Name="$(WebApplicationName)" /> </Target> </Project>
No comments:
Post a Comment