1

我正在修改复制的构建过程模板BuildAndDeploy.xaml以包含 InvokeProcess 活动。此活动将运行_PublishedWebsites\ProjectName_Package\ProjectName.deploy.cmd以将 Web 应用程序部署到 QA 服务器。最终,我将为ProjectName.deploy.cmd网络场中的每台服务器运行多次。手动一切正常,但通过 TFS 构建代理,_PublishedWebsites文件夹及其内容创建得太晚了。我的第一次尝试是InvokeProcess在“”序列中添加活动Compile the Project作为最后一步。然后我把它移到“ If Not DisableTests”之后。为了排除故障,我在BuildDetail.DropLocation文件夹中运行 dir /s 命令,它始终只输出日志文件夹,不输出其他任何内容。我还手动验证了编译的输出和_PublishedWebsites文件夹及其内容是在我想要运行的点之后创建的ProjectName.deploy.cmd文件。工作流中的哪个位置是理想的并保证ProjectName.deploy.cmd准备好文件和其他相关的打包内容?

我正在遵循TFS2010 Build Definition to Deploy to multiple servers中接受的答案中给出的方法。

如果重要的话,构建放置位置是一个 UNC 路径。MSBuild 中使用的参数是/p:DeployOnBuild=True. TFS 构建正确地创建了包,我可以运行ProjectName.deploy.cmd并且 web 部署运行顺利。

4

1 回答 1

2

是在外部的最后的活动中创建BuildDetail.DropLocation\_PublishedWebsites的。查找此文件的适当位置应为. 该文件夹和所有文件都是由 MSBuild 活动本身创建的。Revert Workspace and Copy Files to Drop LocationTry Compile, Test, and Associate Changesets and Work ItemsBinariesDirectory\_PublishedWebsitesBuildDetail.DropLocation\_PublishedWebsites

于 2012-10-04T06:37:03.063 回答