我们目前使用Visual Studio发布管理工具来管理代码的发布阶段。目前,我们正在使用基于操作的旧模板,这些模板需要在每台目标计算机上安装专用的部署代理。将来,我们计划使用所需的状态配置方法,但我偶然发现了一个我现在无法回答的问题。我怀疑这也适用于DSC管道,但我现在专注于基于动作/组件的管道。
在RM中,您只能在机器范围中放置操作和组件。您拥有安装了部署代理的服务器,这些服务器可在管道中选择,并且它们是工作流中的基本实体。一切都在这些机器范围内。
但我们现在有一个不是安装本身的发布要求。我们想要自动化的一个动作是在谷歌播放中发布一个android apk,但这不依赖于任何特定的机器,因为它没有安装任何东西。它需要apk本身,它位于我们的drop文件夹中,但它不需要将它复制到我们的任何机器上。
由于RM不允许在机器范围之外放置操作和组件,因此在工具中运行与机器无关的释放操作的策略是什么?我考虑过将部署代理安装在与RM服务器相同的机器上,并使用另一个机器范围" localhost"来执行此操作,但这看起来很复杂。
我想要的与TFS Build的工作方式非常相似。构建工作流启动时,它在构建控制器上运行,您可以在该范围内放置任何活动。然后,在工作流的某个时刻,它开始在构建代理中运行任务。是否有类似于"在控制器本身上运行"对于RM?
答案 0 :(得分:1)
你的方法是我通常使用的方法......我称之为"跳板"服务器。我将此用于配置虚拟机以通过DSC作为部署目标,或者针对新部署的环境运行集成测试。它并不理想,但它具有功能性和微创性。
我建议您的跳板服务器是一个相当低功耗但专用的VM。您不希望有人意外搞乱您的RM服务器的IIS安装!
DSC可能不会遇到这个问题;至少在Update 3中的实现中,您可以将操作放在计算机范围之外。使用DSC,您可以指定一个额外的"配置"包含完整目标节点的关联数组的脚本,允许您将节点配置与所需的状态脚本分开。