Visual Studio和发布经理

时间:2015-05-03 17:14:45

标签: azure-devops release-management ms-release-management

我一直在玩Visual Studio和Microsoft Release Manager。我发现了一些我没想到的行为,我希望有人能够证实这些(如果我得到了错误的结果)。

我的目标是:

  1. 在Visual Studio Online中托管我的代码。
  2. 使用部署代理将所述代码部署到内部部署或Azure托管的VM。
  3. 我的第一次尝试;使用作为Visual Studio Online的一部分提供的发布管理器服务。但是,我发现我无法使用内部部署(或Azure VM)中部署的代理连接到Release Manager Online。

    我后来在https://www.visualstudio.com/en-us/get-started/release/manage-your-release-vs

    找到了这个文字
      

    您可以使用以下选项来管理版本:

         

    在Visual Studio Online上使用版本管理作为服务:您   需要一个Visual Studio Online帐户。你不能使用厨师   仅部署到基于Azure IaaS服务的vNext环境

         

    使用本地服务器:您需要安装版本管理   服务器;在这做。

    这似乎表明Visual Studio Online Release Manager无法使用代理 - 这是正确的吗?

    假设这是正确的,我的第二次尝试是在本地安装Release Manager(可以说,它实际上是在Azure VM中)。

    我从https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#d-release-management安装了最新的RM版本(服务器,客户端,代理)。具体来说,Visual Studio 2013的发布管理更新4(12.0.31101.0)。

    但是我发现我无法将内部部署的发布管理器连接到Visual Studio Online。错误消息指出我必须以“域\用户名”格式提供用户名 - 这与在线“username@domain.com”格式不符。

    这似乎表明Release Manager的内部部署安装无法连接到Visual Studio Online - 这是正确的吗?

    谢谢,

1 个答案:

答案 0 :(得分:4)

好的,这里有一些难题:

  1. 发布管理客户端必须在Update 4上(或者更晚,当RM 2015在今年晚些时候推出时)。
  2. 如果您使用的是Visual Studio Online,则本地发布管理无法与之通信。这是一个奇怪的限制,但它确实存在。您可以将RM客户端挂钩到VSO中的RM服务,但就是这样。
  3. VSO中的RM服务不支持支持部署代理。它仅支持“vNext”发布模板,这些模板使用PowerShell或DSC脚本进行部署。
  4. 可悲的是,代理商很快就被弃用,转而支持所谓的“无代理”或“vNext”部署。 Microsoft目前正在全力改进版本管理部分,下一版本(将在TFS 2015 Update 1中发布)根本不支持代理。

    如果要将本地RM服务器与VSO一起使用,则必须在没有TFS集成的情况下使用RM。它仍然可以获得大量的持续交付功能,它只需要跳过几个环节。

    1. 您必须将组件设置为“外部构建”并使用本地构建服务器
    2. 您在Azure中的RM部署代理(显然)必须能够与您的RM服务器通信。这可能需要各种防火墙恶作剧,但这是与网络人员的对话。
    3. 如果要进行持续交付(构建触发发布的位置),则必须查看ReleaseManagementBuild.exe文件(它是RM客户端的一部分)。此工具负责在构建过程中启动发布。 “Release”构建过程模板假定TFS集成,但ReleaseManagementBuild.exe应用程序具有“包”模式,您可以在其中指定要释放的UNC路径。这可以让您无法直接进行TFS集成。为了利用这一点,可以稍微破解构建过程模板。