Release Management 2015 中的组件、工具和操作之间有什么区别?

What is the difference between a component, tool, and action in Release Management 2015?

我正在尝试使用发布管理作为构建发布的工具,但我很难理解组件、工具和操作之间的真正区别。有人可以分解这三个概念之间的差异以及它们如何相互配合吗?

我不确定是否存在没有例外的通用定义,但我认为它是:

Actions - 不与构建交互的功能,例如启动或停止服务(使用 Chef 部署或 PS/DSC 操作除外)。仅用于基于代理的模板。

工具 - 与构建交互和/或具有复杂命令行的功能,例如部署网站。仅供 组件使用 - 基于代理

组件 - 基于代理 - 工具的用户以及指定构建位置和定义任何令牌替换的地方。当在模板中使用该组件时,该工具通常会对构建进行一些操作,例如 XCopy Deployer 会将 'Path to package' 的内容复制到指定的安装路径。

组件 - vNext - 仅允许指定构建位置和任何令牌替换,因为任何工作都是通过脚本完成的。该组件由 Deploy using Chef 或 PS/DSC 操作 'consumed' 执行,并且是告诉这些操作从何处获取构建的方式。

现在我试着解释一下,我可以看出这是多么混乱。在某些时候,您将能够绕过所有这些混淆,因为全新的基于 Web 的发布管理版本将随 TFS 2015 Update 1(以及更早的 Visual Studio Online)提供。如果可以的话,推迟这个版本可能是值得的,但它可能会在今年晚些时候或明年年初推出,因为 TFS 2015 RTM 尚未发布。如果您等不及了,需要立即开始,那么请走 vNext PowerShell 路线,以便更轻松地过渡到网络版本。

因为它适用于基于代理的版本:

工具 旨在为自定义资源(可执行文件、PowerShell 脚本、批处理文件等)提供执行所述自定义资源的命令行和默认集的命令行参数。使用内置资源中的示例:IIS 管理器。 IIS 管理器是一种可以执行各种不同 IIS 操作的工具,具体取决于它的调用方式。

操作 是细化的、特定于版本的操作。它们可能建立在工具之上,以提供使用该工具的特定操作。 创建网站 是建立在 IIS 管理器工具之上的操作。操作出现在发布模板工具箱中。

组件 是可部署的软件块。您从构建放置中指定二进制文件的相对来源,并选择要执行的工具来安装软件。最常见的是 "XCopy Deployer" 工具,它只是将二进制文件从构建放置复制到目标机器上的某个位置。可以通过右键单击 "Components" 并选择 "Add" 选项将组件添加到发布模板。

您可以直接在发布模板中使用操作或组件,但不能使用工具。

所以关系是这样的:

      /-> Action -> Target server
Tool -|
      \-> Component -> Build drop and target server 

vNext 版本没有操作或工具的概念,只有组件。组件被缩减为仅用作指向相对于二进制文件来源的构建放置根的路径的指针。还有一些其他的区别,但这些是主要的。