首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tfs构建中如何参数化DeployIisAppPath Msbuild参数

Tfs构建中如何参数化DeployIisAppPath Msbuild参数
EN

Stack Overflow用户
提问于 2014-06-20 07:04:37
回答 2查看 3.3K关注 0票数 4

我正在使用Tfs 2012构建/部署我们的Asp.Net网络应用程序。我们有一个构建定义,它构建了5个解决方案(.sln文件)。这就是我们的MsBuild参数的样子:

代码语言:javascript
复制
/p:DeployOnBuild=True /p:AllowUntrustedCertificate=True /p:DeployIisAppPath="Test"         /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl="https://{server}:8172/msdeploy.axd" /p:UserName="{user}" /p:Password="{password}"

我需要使用此构建定义使用Web部署部署所有5个站点。当然,它们共享除DeployIisAppPath之外的所有参数。它适用于1种解决方案,但对于多于1种解决方案,我需要为每个解决方案输入不同的DeployIisAppPath,以便每个解决方案都部署到IIS中的正确站点。

我已经检查过这些问题和其他文档,但还没有找到:

Running a build against multiple projects with different build arguments

Continuous deployment with multiple website projects in solution

How to pass TFS variable to a MSBuild task of the project

TFS2010 Build Definition to Deploy to multiple servers?

我也尝试将参数作为属性传递给每个sln的{siteName}.Web.csproj。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-20 19:44:53

其中一种可能的方法是给出你自己的参数集。让我们说,我们称它们为DeployIisAppPath_OneDeployIisAppPath_Two等,只要它们是独一无二的,无论什么名字都适用于您。

然后,在每个需要部署的项目文件中进行一个小编辑。在第一个<PropertyGroup>部分中,添加以下行。例如在第一个项目中,添加

代码语言:javascript
复制
<DeployIisAppPath Condition="'$(DeployIisAppPath_One)' != ''">$(DeployIisAppPath_One)</DeployIisAppPath>

在第二个项目中,简单地说:

代码语言:javascript
复制
<DeployIisAppPath Condition="'$(DeployIisAppPath_Two)' != ''">$(DeployIisAppPath_Two)</DeployIisAppPath>

对要部署的所有项目重复。现在,您的新命令行将如下所示:

代码语言:javascript
复制
msbuild ... /p:DeployIisAppPath_One="MySite/one" /p:DeployIisAppPath_Two="MySite/two" ...
票数 5
EN

Stack Overflow用户

发布于 2014-07-12 13:41:41

应将发布概要文件添加到解决方案中的每个Web项目中。之后,您可以设置以下构建参数:

代码语言:javascript
复制
/p:DeployOnBuild=True
/p:PublishProfile=Development
/p:Password=password-of-your-deploy-user-as-earlier-entered-with-publish-profile

重要的是/p:PublishProfile,这必须是先前创建的发布配置文件的名称。现在,在构建时,MSBuild将查找发布配置文件(在本例中为“Development”),并使用它发布网站。

完整指南:http://www.johandorper.com/log/publish-multiple-webprojects-on-build

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24321722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档