4

我有几个自托管的 Azure DevOps 代理(每个都安装在专用的本地服务器上),我需要对它们执行重复维护(即修补等)。是否有一种在 Azure DevOps 中定义这些维护窗口的好方法,以便服务器管理员可以完成他们的工作而不必担心中断任何正在进行的构建/发布任务?

似乎有一个与配置重复维护(Organization Settings-> Agent Pools-> <Pool Name>-> Settings [tab])相关的设置,但它似乎适用于整个池,并且很难判断哪些代理将在哪个时间段被视为脱机。不幸的是,我找不到任何有关它的文档,并且不确定 Azure DevOps 是否还会在代理机器上执行某些操作(即运行清理、更新代理等)

目前,该过程涉及在 Azure DevOps 中具有管理员权限的人员禁用代理,允许服务器管理员执行定期维护,并在服务器管理员完成后重新启用它。如果服务器管理员不能每次都让 Azure DevOps 管理员参与此类例程,那就太好了。

4

1 回答 1

4

由于您拥有自己的 Azure Pipelines 代理,因此维护应该更容易,您可以完全控制是否进行自动维护。如果您使用 Microsoft 的托管代理,则无法从 Microsoft 更新托管代理,因为这些代理由 Microsoft 专门维护。

最好的方法是在一台机器实例上拥有多个代理,然后在一个池中组织代理。如果您有多个池,那么您可以将 Azure DevOps 配置为在每个池上设置不同的维护时段计划以拥有不同的时间,并留出一些时间来下载和配置自身。

例如,我通常在周末配置维护窗口,例如每个月的某个日期的周日清晨一次。对于我拥有的任何池,我在每个池上给了它们 40 分钟的间隔进行维护,以便为代理提供足够的时间来下载、更新和重新启动自身。

请进一步查阅这些文档以获取详细说明和用例:

对于 Azure DevOps 服务器:

  1. https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops-2019
  2. https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/pools-queues?view=azure-devops-2019

对于 Azure DevOps 服务(在云 TFS 上,以前称为 Visual Studio Team Services):

  1. https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops
  2. https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/pools-queues?view=azure-devops
于 2019-03-25T08:54:30.267 回答