是否需要为Azure Devops中的环境安装单独的代理? (当已经安装了部署代理时)

时间:2020-06-02 14:30:17

标签: linux azure azure-devops

我一直在尝试尝试Azure Devops documented here

中的新环境功能。

我看过通过UI进行设置,它提供了一个bash脚本来安装代理,如下所示:

mkdir azagent;cd azagent;curl -fkSL -o vstsagent.tar.gz https://vstsagentpackage.azureedge.net/agent/2.169.1/vsts-agent-linux-x64-2.169.1.tar.gz;tar -zxvf vstsagent.tar.gz; if [ -x "$(command -v systemctl)" ]; then ./config.sh --environment --environmentname "SIT" --acceptteeeula --agent $HOSTNAME --url <Our URL> --work _work --projectname <project name> --auth PAT --token <PAT Token> --runasservice; sudo ./svc.sh install; sudo ./svc.sh start; else ./config.sh --environment --environmentname "Dev" --acceptteeeula --agent $HOSTNAME --url <Our URL> --work _work --projectname 'Beehive' --auth PAT --token <PAT Token>; ./run.sh; fi

这看起来像它将为您安装代理。但是,我已经在此计算机上安装了部署代理,现在不想替换它。我必须为这些环境安装单独的代理,还是可以将当前的部署代理配置为也使用环境?

希望这很清楚

1 个答案:

答案 0 :(得分:0)

我必须为这些环境安装单独的代理,还是可以将当前的部署代理配置为也使用环境?

答案是肯定的。我们必须为这些环境安装单独的代理,无法将当前的部署代理配置为使用环境。

那是因为环境和部署代理不同。

Deployment groups

部署组是部署目标计算机的逻辑集合,每台计算机上均安装了代理。部署组代表物理环境;例如“ Dev”,“ Test”,“ UAT”和“ Production”。实际上,部署组只是代理的另一个分组,非常类似于代理池。

Environments

环境表示资源的集合,例如Kubernetes群集中的名称空间,Azure Web Apps,虚拟机,数据库,可以通过管道中的部署来作为目标。

它们在实际部署中具有相同的理论。但是,因为YAML尚不支持部署组作业。在这种情况下,环境出现了。

虽然环境的核心是一组资源,但是资源本身代表实际的部署目标。

还有一些其他差异,例如,我们不能直接在管道中创建部署组,但是可以直接在管道中创建环境。并且环境可以在部署期间记录提交/工作项。跟踪代码更改,错误修复等更加方便。

因此,我们无法将当前的部署代理配置为使用环境。

希望这会有所帮助。