我有几个自托管的Azure DevOps代理(每个都安装在专用的本地服务器上),我需要对其进行定期维护(即修补等)。有没有一种好的方法可以在Azure DevOps中定义这些维护窗口,以使服务器管理员可以执行工作而不必担心中断任何正在进行的生成/发布任务?
似乎存在与配置重复维护相关的设置(Organization Settings
-> Agent Pools
-> <Pool Name>
-> Settings [tab]
),但似乎适用到整个池中,很难说出哪个代理在哪个时隙被认为是离线的。
不幸的是,我找不到关于它的任何文档,也不确定Azure DevOps是否还会在代理计算机上进行某些操作(即运行清理,更新代理等)
当前,该过程涉及一个在Azure DevOps中具有管理员权限的人员来禁用代理,该代理允许服务器管理员执行常规维护,并在完成服务器管理员后重新启用它。如果服务器管理员不必每次都让Azure DevOps管理员参与此类例程,那就太好了。
答案 0 :(得分:0)
由于您拥有自己的Azure Pipelines代理,因此维护应该更容易,并且可以完全控制是否进行自动维护。如果您使用Microsoft的托管代理,则无法从Microsoft更新托管代理,因为这些代理完全由Microsoft维护。
执行此操作的最佳方法是在一台计算机实例上具有多个代理,然后在一个池中组织这些代理。如果您有多个池,则可以将Azure DevOps配置为在每个池上具有不同的维护窗口时间表,以具有不同的时间,并留出一些时间来下载和配置自身。
例如,我通常在周末的某个特定日期(例如每月一次的周日清晨)配置维护时段。对于任何一个池,我都会在每个池上给他们40分钟的间隔,以进行维护,以便为代理提供足够的时间来下载,更新和重新启动自身。
请进一步参考这些文档以获取详细说明和用例:
对于Azure DevOps服务器:
对于Azure DevOps服务(在云TFS上,以前是Visual Studio Team Services):