【问题标题】:Continuous delivery with Microsoft Release Management使用 Microsoft 发布管理进行持续交付
【发布时间】:2014-12-12 21:36:04
【问题描述】:

我正在做一个毕业项目,我应该在我工作的公司内自动化部署周期。他们想要使用的工具是 Microsoft Release Management

但是,当我进一步研究发布管理的功能时,它提出的问题多于答案。

一些背景信息。

公司拥有的所有环境都将转移到数据中心并在虚拟机 (VMware) 上运行。他们可以使用工具vClouddirector 来创建和管理虚拟机。

为了简单起见,现在将有四个环境:1 个开发环境、2 个测试环境和 1 个验收环境。四个环境一直在运行,所以我想发布管理连接到这些服务器没有问题,我可以毫无问题地制作发布模板。

现在是棘手的部分。同时对他们想要创建一个新 VM(使用 powershell 脚本,某种开发副本)的开发环境进行部署,并对这个环境进行相同的部署。此脚本需要与第三方工具或托管服务提供商提供的 REST API 进行通信。我知道脚本需要在发布模板的服务器组件中运行。所以我知道2个已知的解决方法。当我部署到开发人员时,我可以在我的发布模板中运行此脚本,或者我可以使用专用服务器来运行所有脚本,以创建新的 VM。

问题是我如何在不手动告诉发布管理有新服务器的情况下部署到这个新环境?这个过程需要完全自动化。

【问题讨论】:

    标签: ms-release-management


    【解决方案1】:

    底线:发布管理目前没有一种简单的本地方式来配置新的虚拟机并将其部署到它们。我自己已经达到了这个限制。您将无法使用部署程序来做到这一点。但是,您可以解决它。

    我采用的方法是使用 Desired State Configuration 并将“跳板”服务器 (rm-dsc-launcher) 与我编写的自定义 PowerShell 脚本结合使用。就我而言,它是 Azure。在您的情况下,它是 VMWare。无论如何:

    1. 我创建了一个 Desired State Configuration 脚本和配置我的环境和安装我的软件所需的任何自定义 DSC 资源。这会被检入源代码控制并推送到构建放置,以便在部署时可用。
    2. 我创建了一个名为“Provision Environment”的自定义工具/操作,它采用所有必要的参数来创建一个新的 VM。
    3. 我创建了一个名为“执行 DSC 脚本”的自定义工具,并在我的应用程序二进制文件的组件中使用了它。参数之一是部署脚本的路径。您可以通过将值 $(PackageLocation) 作为参数传递给组件来访问二进制文件/脚本的路径。

    这不是世界上最漂亮的解决方案,但它很实用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多