我尝试使用版本管理作为构建版本的工具,但我很难理解组件,工具和操作之间的区别。有人可以打破这三个概念之间的差异以及它们如何相互协作吗?
答案 0 :(得分:4)
因为它适用于基于代理的版本:
工具旨在提供自定义资源(可执行文件,PowerShell脚本,批处理文件等),其中包含用于执行所述自定义资源的命令行以及一组默认的命令行参数。使用内置资源中的示例:IIS管理器。 IIS管理器是一种可以执行各种不同IIS操作的工具,具体取决于它的调用方式。
操作是精细的特定于发布的操作。它们可以构建在工具之上,以提供使用该工具的特定操作。 创建网站是基于IIS管理器工具构建的操作。操作显示在发布模板工具箱中。
组件是可部署的软件块。您可以从构建drop中指定二进制文件的相对来源,并选择要执行的工具来安装软件。最常见的是“XCopy Deployer”工具,它只是将二进制文件从构建drop复制到目标计算机上的某个位置。通过右键单击“组件”并选择“添加”选项,可以将组件添加到发布模板中。
您可以直接在发布模板中使用操作或组件,但不能使用工具。
所以关系是这样的:
/-> Action -> Target server
Tool -|
\-> Component -> Build drop and target server
vNext版本没有动作或工具的概念,只有组件。组件被简化为仅用作指向相对于二进制文件来自的构建放置根的路径的指针。还有其他一些区别,但那些是主要区别。
答案 1 :(得分:1)
我不确定是否存在没有异常的通用定义,但我将其视为:
操作 - 不与构建交互的功能,例如启动或停止服务(使用Chef或PS / DSC操作部署除外)。仅用于基于代理的模板。
工具 - 与构建交互和/或具有复杂命令行的功能,例如部署网站。仅由组件 - 基于代理。
使用组件 - 基于代理 - 工具的用户以及指定构建位置的位置以及定义任何令牌替换的位置。当组件在模板中使用时,工具通常会对构建执行某些操作,例如,XCopy部署者会将“路径”的内容复制到程序包'到指定的安装路径。
组件 - vNext - 仅允许指定构建的位置和任何令牌替换,因为任何工作都是通过脚本完成的。该组件被消费了#39;通过部署使用Chef或PS / DSC 操作,并告诉这些操作在何处获取构建。
现在我试图解释一下,我可以看到它是多么混乱。在某些时候,您将能够绕过所有这些混乱,因为TFS 2015 Update 1(以及早期的Visual Studio Online)将提供全新的基于Web的版本管理版本。如果可以的话,可能需要支付这个版本的费用,但可能会在今年或下一个早些时候推迟,因为TFS 2015 RTM还没有结束。如果您不能等待并且现在需要开始,那么请沿着vNext PowerShell路线前进,以便更轻松地过渡到网络版。