TFS 发布管理 vNext ReleaseManagementShare

Posted

技术标签:

【中文标题】TFS 发布管理 vNext ReleaseManagementShare【英文标题】:TFS Release Management vNext ReleaseManagementShare 【发布时间】:2016-02-10 14:18:42 【问题描述】:

我正在尝试使用 tfs 发布管理 vNext 部署示例项目。我尝试了很多东西(例如:VS RM – vNext Template for On-Premise Target Server in Un-trusted Domain - 虽然我在一个受信任的域中)但现在完全迷失了。我的 vNext 部署告诉我:

ROBOCOPY - 错误 3 (0x00000003) 访问源目录 \rmServer\ReleaseManagementShare\15b27b05-d176-492d-b534-268af1845a36\2\ComponentName\ 系统找不到指定的路径。

这是真的。 id 所在的文件夹不存在。

具体问题:

谁在生成 id 15...36? 谁在创建这个文件夹? 为什么它不存在,我该如何改变它? :) 在 tfs 前端构建定义中 - “工件类型”和“工件名称”的正确值是什么?

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

ReleaseManagementShare 文件夹通常由安装程序在您设置 RM 服务器时创建——或者至少我最近在 RM 2015 Update 1 中观察到了这种行为,我不确定旧版本是否这样做。如果它不存在,您可以自己创建它。确保您的 RM Server 服务帐户对其具有读/写访问权限。通常不使用此文件夹。

ReleaseManagementShare 文件夹仅在您使用 XAML 构建并将构建输出设置为转到 Server 而不是文件共享时使用。当您选择将工件存储在服务器上时,它可能也可用于新的构建系统,但我还没有测试过这种情况。如果您将二进制文件推送到文件共享,则此文件夹完全无关紧要。有关更多详细信息,请参见: https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/11/whats-new-in-release-management-for-vs-2013-update-4/

基本上,涉及两个潜在的 UNC 共享:

    一个用于构建服务器。它将二进制文件放在那里,目标服务器会到达该位置以获取它们。 另一个是这个ReleaseManagementShare。当您没有#1 中概述的共享,而是将二进制文件存储在 TFS 中时,它就会发挥作用。目标服务器仍然需要以某种方式获取二进制文件,因此发布管理服务器会将它们“暂存”在ReleaseManagementShare 中,以便目标机器可以通过与从构建工件共享中获取它们相同的机制来获取它们。

ID 只是一个随机的 GUID。

我假设您正在使用新的构建系统,因为您询问的是工件。对于工件类型,我知道文件共享有效。但是,我不能 100% 确定 Server 可以工作。

工件名称可以是您想要的任何名称,但需要注意的是,您在 RM 服务器中定义的组件名称必须与工件名称匹配,否则会找不到二进制文件。

【讨论】:

您好丹尼尔,感谢您的快速回复。我尝试使用“文件共享”,但如果 GUID 是随机的 - “路径”的正确值是多少?我尝试了 \\rmServer\ReleaseManagementShare\$(Build.DefinitionName)\$(Build.BuildNumber) 并且这是有效的(文件被复制)但当然不是正确的路径,所以我仍然收到上面提到的错误消息。如何解决这个问题? 它正在工作。似乎只有一个“发布构建工件”(或多个正确顺序?)似乎很重要,否则 rm 会感到困惑。但我明天必须深入检查 - 现在谢谢!

以上是关于TFS 发布管理 vNext ReleaseManagementShare的主要内容,如果未能解决你的问题,请参考以下文章

创建后无法在构建/部署定义 (vnext) 中选择 TFS 2015 机器组

TFS 2015 更新 3 Vnext 构建定义复制除父项目之外的所有工件

使用 vNext 构建后将内部版本号与 TFS 工作项相关联

TFS 2015 Build vNext:cURL-FTP-Upload 错误或难以使用

我怎样才能始终如一地自动化,使用 TFS vNext 构建步骤,构建我们的开发团队使用 Visual Studio 工作的任何解决方案文件?

SonarQube,TFS 2015 Vnext build -错误:JAVA_HOME 存在但不指向有效的 Java 主文件夹。在那里找不到“\bin\java.exe”文件