如何创建自动运行Microsoft Visual Studio 2013发布管理版本(部署)的TFS Build?
答案 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文件名并将其替换为" \"并排队下一个版本。有效。回想起来,我认为他们应该删除对输入内容的强制性要求,以取代输入" \"的需要。它有点隐藏而且不直观。