【发布时间】:2011-10-21 04:16:07
【问题描述】:
我有一个我想在 TFS2010(服务器 2008R2)中执行的构建,但它没有按照我的意愿执行。我希望构建代码(我有一个门控签入策略)并且在成功构建时我想运行测试(单元和集成测试)如果(且仅当)所有测试都通过我希望将构建部署到 IIS7服务器。
开始设置时,我忽略了测试以查看构建和部署是否有效。在我完成这项工作之后,我现在正试图让测试失败,这必须阻止站点的部署。
在我的一项测试中(故意),我添加了 Assert.IsTrue(1 == 2);在日志中我可以看到构建失败,但站点仍然部署到我的 IIS 服务器。我的 MSBuild 参数设置为: /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=RemoteAgent /p:MSDeployServiceUrl=http://111.11.11.111/msdeployagentservice /p:DeployIisAppPath ="MVC - Jack" /p:UserName=APP-107\Administrator /p:Password=xxxxxx /p:Configuration=Release
为什么即使测试失败并且我将构建定义设置为“禁用测试 = false”和“测试失败时构建失败”,部署仍然会发生
谢谢 杰克
附言。我可能有一个例子来解释如何修改 BuildProcessTemplate.xaml 以在测试失败时停止部署?
【问题讨论】: