TFS Build 2013 放置位置
TFS Build 2013 drop location
我有 6 个构建服务器和多个构建定义。我希望放置位置为 C:\Builds\BuildDefinition.Name\BuildNumber。如果我将放置位置设置为 \\localhost\Builds,文件将放置在正确的位置,但我无法从 Visual Studio 访问放置位置(我想它正在查看我本地计算机上的 \\localhost 然后).
构建定义不是由一个特定的构建服务器构建的,您通常会选择一个不忙的服务器,所以我不能将放置位置硬编码为 \\BuildServer1\Builds。
如何将放置位置设置为 \\SelectedBuildServer\Builds\,以便它根据我在哪个构建服务器上排队生成而改变?
我不想为 drops 设置网络位置,因为 drops 的文件大小 >1gb,所以需要相当长的时间。我希望掉落在构建它们的本地构建服务器上。
解决方案:
BuildDetail.DropLocation = "\"
+ BuildDetail.BuildController.Name
+ "\Builds\"
+ BuildDetail.BuildDefinition.Name
+ "\" + BuildDetail.BuildNumber + "\"
算出:\\BuildServerNetworkLocation\Builds\BuildDefinitionName\BuildNumber
我的控制器名称与我的构建服务器网络位置相同。
你将不得不编辑构建模板 (.xaml),除非你想走 pre/post-build powershell 脚本路线(虽然不知道这是否可行) .
一个好地方(假设您使用的是默认的 TfvcTemplate.12)就在 "Associate the changesets that occurred since the last good build" 步骤之后。
您需要添加一个步骤以使用 GetBuildAgent 获取 buildAgent 实例 and/or GetBuildDetail 获取 buildDetail - 老实说,我不记得哪个包含构建服务器 ID,尽管您可以将其解析为...
buildAgent.GetExpandedBuildDirectory(buildDetail.BuildDefinition)
...如果你绝望了。之后你应该能够将值附加到...
buildDetail.DropLocation
...属性 我认为这会为您做到。
我刚刚离开构建服务器,但如果你遇到困难,我会看看我能找到什么。
编辑:抱歉,刚刚看到关于构建名称的内容也被需要。我相信您应该能够从与构建服务器 ID 相同的对象中获取它。
我有 6 个构建服务器和多个构建定义。我希望放置位置为 C:\Builds\BuildDefinition.Name\BuildNumber。如果我将放置位置设置为 \\localhost\Builds,文件将放置在正确的位置,但我无法从 Visual Studio 访问放置位置(我想它正在查看我本地计算机上的 \\localhost 然后).
构建定义不是由一个特定的构建服务器构建的,您通常会选择一个不忙的服务器,所以我不能将放置位置硬编码为 \\BuildServer1\Builds。
如何将放置位置设置为 \\SelectedBuildServer\Builds\,以便它根据我在哪个构建服务器上排队生成而改变?
我不想为 drops 设置网络位置,因为 drops 的文件大小 >1gb,所以需要相当长的时间。我希望掉落在构建它们的本地构建服务器上。
解决方案:
BuildDetail.DropLocation = "\"
+ BuildDetail.BuildController.Name
+ "\Builds\"
+ BuildDetail.BuildDefinition.Name
+ "\" + BuildDetail.BuildNumber + "\"
算出:\\BuildServerNetworkLocation\Builds\BuildDefinitionName\BuildNumber
我的控制器名称与我的构建服务器网络位置相同。
你将不得不编辑构建模板 (.xaml),除非你想走 pre/post-build powershell 脚本路线(虽然不知道这是否可行) .
一个好地方(假设您使用的是默认的 TfvcTemplate.12)就在 "Associate the changesets that occurred since the last good build" 步骤之后。
您需要添加一个步骤以使用 GetBuildAgent 获取 buildAgent 实例 and/or GetBuildDetail 获取 buildDetail - 老实说,我不记得哪个包含构建服务器 ID,尽管您可以将其解析为...
buildAgent.GetExpandedBuildDirectory(buildDetail.BuildDefinition)
...如果你绝望了。之后你应该能够将值附加到...
buildDetail.DropLocation
...属性 我认为这会为您做到。
我刚刚离开构建服务器,但如果你遇到困难,我会看看我能找到什么。
编辑:抱歉,刚刚看到关于构建名称的内容也被需要。我相信您应该能够从与构建服务器 ID 相同的对象中获取它。