团队服务 - 发布管理 - 使用内部部署机器?

时间:2017-01-06 14:06:44

标签: tfs azure-devops continuous-deployment

我的要求是

  1. 将代码签入团队服务。
  2. 执行CI构建以将代码部署到DEV计算机(内部部署,无法访问Internet)。
  3. 使用Team服务上的发布管理模块传播来自DEV的更改 - > QA - > STG - > PROD。
  4. 使用TFServer(内部部署)可以轻松执行这些操作,但不确定是否可以使用团队服务来完成这些操作,因为无法从外部访问部署计算机。

    请帮忙。 谢谢!

1 个答案:

答案 0 :(得分:3)

使用VSTS时,您可以拥有需要与youraccount.visualstudio.com建立网络连接的内部部署版本和发布代理。请注意,构建和发布定义使用相同类型的代理(没有用于发布或构建的不同代理,它与为.NET Core编写的二进制代码的多平台位相同)。

然后代理运行的机器需要与您命名为DEV,QA,STG,Prod的计算机组建立网络连接,我将称之为目标计算机。

我建议你创建一个构建定义来创建工件(只是构建产生的二进制文件/ xml / config文件)。然后创建链接到该构建的版本定义:这样它就可以访问artifacts 并将它们部署在没有Internet连接的目标计算机上。发布定义将包含四个环境,第一个具有要部署到DEV的任务列表,第二个具有QA等等。每个环境都是由前一个环境的成功部署触发的,但DEV是automatically started after release creation

创建发布后,任务列表的执行将在一个内部运行的代理上启动:这是您可以使用copy然后execute PowerShell On Target操作的组合操作来部署的地方目标机器上的工件。

如果在某些环境中,任务集相同或相似,则可以创建Task Group 并在多种环境中重复使用。

总结:

  • 构建代理程序在内部部署机器上运行;
  • 构建代理需要视线到目标机器;
  • 目标计算机不需要任何Internet连接;

下图以图形方式总结了代理与目标之间的视线概念:line of sight between targets and agent