如何使用Visual Studio Release Management 2013版4.0的自定义PowerShell脚本从组件访问tfs变量

时间:2015-02-23 05:12:09

标签: visual-studio-2013 release-management alm ms-release-management

我的Visual Studio 2013版本管理客户端/服务器版本是4.0版。我正在使用ReleaseTfvcTemplate.12.xaml模板。在使用基于AGENT的发布模板时,有没有办法从发布管理组件(部署程序配置)访问系统变量?当我尝试传递$ applicationPath或$(applicationPath)或$(ApplicationPath)时,我得到NULL。

以下是我在RM中部署具有自定义PowerShell部署脚本的组件的状态:

  1. 我可以成功排队发布版本
  2. 构建输出已正确复制到\ servername \ BuildDrop \
  3. 我有一个基于代理(不是VNEXT)的RM模板,在构建完成时会触发
  4. 构建正确触发RM模板以释放构建
  5. 此RM模板有一个通过CUSTOM PowerShell脚本部署的组件
  6. powershell脚本需要构建点位置的完整绝对路径才能执行其工作(powershell脚本所做的与讨论无关) 示例:在我对RM中组件的部署配置中,我需要传递TFS构建放置位置而不必对其进行硬编码
  7. 基于the MSDN documentation,系统变量$ applicationPath由RM水合,但仅限于使用基于VNEXT的模板,而不是基于代理的模板
  8. 根据与从基于代理的RM模板访问系统变量相关的已接受的StackOverflow答案here,看起来MSDN文档并不能说明整个故事,我应该能够在我的组件部署中设置一行配置(见下文)Attempting to Pass TFS System Variables to Component Powershell Deployer

1 个答案:

答案 0 :(得分:2)

Graham在评论中提到,构建输出在本地复制,在执行Powershell时它是你的工作目录。

您还可以使用它来访问构建放置位置:$(PackageLocation) http://incyclesoftware.zendesk.com/entries/24422737-Deployment-Metadata

刚刚发现Donovan Brown的最新帖子:http://donovanbrown.com/post/What-are-the-System-variables-for-PS-DSC-deployments-in-Release-Management.aspx