将TFS构建与发布管理集成

时间:2014-07-04 13:39:22

标签: visual-studio ms-release-management

如何创建自动运行Microsoft Visual Studio 2013发布管理版本(部署)的TFS Build?

1 个答案:

答案 0 :(得分:8)

要从TFS Build启动发布,您需要更改构建定义。幸运的是,当您安装版本管理时,它会为您创建一个构建模板以供示例使用。在可能的情况下,这足以让你前进。

发布管理构建流程模板

版本管理构建过程模板默认情况下未安装在TFS中,因此在您添加之前它不会显示为可用的构建过程模板。

在服务器安装中找到模板:C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ ReleaseManagement \ bin \

TFS 2010 : ReleaseDefaultTemplate.xaml
TFS 2012 : ReleaseDefaultTemplate.11.1.xaml
TFS 2013 : ReleaseTfvcTemplate.12.xaml (or ReleaseGitTemplate.12.xaml if using GIT)

要添加发布管理构建过程模板,您需要将其签入项目中BuildProcessTemplate文件夹中的TFS源代码控制。然后在编辑(或添加)构建定义时添加构建过程文件。将发布管理模板添加到构建模板列表后,即可开始使用它。

请确保您使用Release Management Server中的上述模板,而不是我最初使用的客户端目录。如果是这样的话,你会在构建过程中遇到奇怪的错误,例如:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (3883): Web deployment task failed. (Unknown ProviderOption:DefiningProjectFullPath. Known ProviderOptions are:skipInvalid.)

包裹提货\包装路径。

设置组件时,发布管理需要知道在哪里获取安装文件以便对它们执行某些操作。当您创建发布模板时,它应该通过选择将启动它的构建定义连接到特定构建(也可以勾选"可以触发构建版本?")。在添加要作为发行版的一部分安装的组件时,请指定其源。 "与应用程序一起构建"应该被选中。得到我的一点是Build Drop位置旁边的一个大空框,这是一个必填字段。我最初的反应是用我试图部署的msi文件的名称填充它。那有道理吗?错误。如果我从Visual Studio排队构建,我会收到以下消息。

Package location '\\blah\blah\Build Name\Build Name_20140707.3\A.Product.To.Install.msi' does not exists or Deployer user does not have access.

该文件确实存在于该位置,部署代理使用的用户确实可以访问drop目录。我还确认它能够使用ProcMon访问它。睡觉后,我决定将鼠标悬停在输入框上,弹出一个漂亮的工具提示:

  

需要相对于构建放置位置的包路径   绑定到发布模板的组件。如果包裹直接在   构建放置位置的根,您需要输入' \'   字符。

所以,在我的尤里卡时刻之后,我删除了msi文件名并将其替换为" \"并排队下一个版本。有效。回想起来,我认为他们应该删除对输入内容的强制性要求,以取代输入" \"的需要。它有点隐藏而且不直观。

How to get the package

See MSDN Article here for more info

For Modified Build Process Templates