gpt4 book ai didi

msbuild - TFS2010 Build 不部署 web 应用程序

转载 作者:行者123 更新时间:2023-12-01 05:28:21 26 4
gpt4 key购买 nike

我试图让我的 Web 应用程序在自动构建结束时自动部署,但显然我遗漏了一些东西。

我的设置是:
Win7 工作站上的 VS2012
serverA 上的 TFS2010 存储库
serverB 上的 TFS 构建代理
serverC 上的 IIS7 中的测试站点。

我使用默认的 MVC4 模板创建了一个快速测试项目,并使用 MS VS Scrum 1.0 模板创建了一个团队项目来配合它。

我使用发布 web 对话框为 web 应用程序创建了一个新的发布配置文件,并将 .pubxml 文件 checkin 到项目中。 .pubxml 文件看起来像这样:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>TestServer/DeployTest</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://TestServer</MSDeployServiceURL>
<DeployIisAppPath>webapp-dev/DeployTest</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>mydomain\myuser</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
</Project>

*为了保护无辜者,一些名字已被更改:)

使用此配置文件,我可以成功地将应用程序从 Visual Studio 发布到测试 Web 服务器,而不会出现任何问题。关注 Scott Hanselman's blog post我从工作站上的命令行成功发布:

msbuild DeployTest.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:AllowUntrustedCertificate=true /p:Password=notTheRealPassword



然后,我在 Team Explorer 中创建了一个构建,该构建将使用我的构建服务器进行编译,然后运行单元测试。都好。项目构建,单元测试通过。

然后,我将命令行中的参数添加到构建定义的 Advanced 部分中的 MS Build Arguments 中:

/p:DeployOnBuild=true /p:PublishProfile=Test /p:AllowUntrustedCertificate=true /p:Password=notTheRealPassword



构建运行,单元测试通过,没有任何内容发布到 Web 服务器。 :(

有人可以启发我了解我错过了什么吗?我读过的任何内容似乎都表明我错过了一个步骤,但似乎很少有文件可以解释这是如何完成的。

最佳答案

听起来 tfs 可能不支持发布配置文件。

您可能需要从配置文件中提取所有参数并手动指定它们。

这是一个类似的问题。

Team Build: Publish locally using MSDeploy

关于msbuild - TFS2010 Build 不部署 web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12747843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com