加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何MSDeploy构建的网站包到一个处女IIS网站

发布时间:2020-12-15 20:17:17 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试自动化我们的构建/部署过程. 到目前为止,我正在使用: 具有主要Web应用程序项目(和依赖项目)的Visual Studio 2010解决方案 MSBuild MSDeploy CruiseControl.Net 所以经过很多的争吵和咬牙切齿之后,我现在已经有了CCNet开发一个MSBuild脚本来构建,
我正在尝试自动化我们的构建/部署过程.

到目前为止,我正在使用:

>具有主要Web应用程序项目(和依赖项目)的Visual Studio 2010解决方案
> MSBuild
> MSDeploy
> CruiseControl.Net

所以经过很多的争吵和咬牙切齿之后,我现在已经有了CCNet开发一个MSBuild脚本来构建,打包和部署网站. MSBuild脚本如下:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build"> 
    <MSBuild Projects="$(CCNetWorkingDirectory)srcProduct.sln"
                    Targets="Clean;Rebuild"
                    Properties="Configuration=$(Configuration)"
    />
</Target>

<!--<Target Name="Test" DependsOnTargets="Build">
    <MSBuild Projects="$(CCNetWorkingDirectory)srcProduct.Web.TestsProduct.Web.Tests.csproj"
                    Properties="Configuration=$(Configuration);OutputPath=$(CCNetArtifactDirectory)Tests" />
    <Exec Command="$(MSTestPath) /testcontainer:$(CCNetArtifactDirectory)TestsProduct.Web.Tests.dll /runconfig:$(CCNetWorkingDirectory)srcLocal.testsettings" ContinueOnError="false" />
</Target>-->

<Target Name="Package" DependsOnTargets="Build"> 
    <MSBuild Projects="$(CCNetWorkingDirectory)srcProduct.WebProduct.Web.csproj"
                    Targets="Package"
                    Properties="Configuration=$(Configuration);PackageLocation=$(PackageDir)Product.zip"
    />
</Target>

<Target Name="Deploy" DependsOnTargets="Package">
    <Exec Command="&quot;$(MSDeployPath)&quot; -source:package='$(PackageDir)Product.zip' -dest:auto,computerName='$(MSDeployComputerName)',includeAcls='False' -verb:sync -setParamFile:$(PackageDir)Product.SetParameters.xml" ContinueOnError="false" />
</Target>

这一切都可以正常工作,只要在目标机器上已经有一个在IIS中配置的网站.这不需要是现有的“真实”站点(它可能只是一个shell).

虽然这是伟大的,我真的希望MSDeploy自动创建网站,因为它似乎可以做一个网络应用程序.这可能吗?如果是这样,任何帮助将不胜感激!

解决方法

很确定MSDeploy不能这样做.过去我做了一件事情是有一个Exec任务调用appcmd.exe来拆除/建立一个新的网站. MSBuild Community Tasks具有一些网站功能以及 MSBuild Extension Pack.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读