Выполнение обслуживания на автономных агентах Azure DevOps

У меня есть несколько автономных агентов Azure DevOps (каждый из которых установлен на выделенном локальном сервере), и мне нужно выполнять на них периодическое обслуживание (например, исправление и т. Д.). Есть ли хороший способ определить эти периоды обслуживания в Azure DevOps, чтобы администраторы серверов могли выполнять свою работу, не беспокоясь о том, чтобы прервать выполнение любых текущих задач сборки / выпуска?

Кажется, есть параметр, связанный с настройкой повторяющегося обслуживания (Organization Settings -> Agent Pools -> _3 _-> Settings [tab]), но похоже, что он будет применяться ко всему пулу, и трудно сказать, какой из агентов будет считаться автономным и на каком Временной интервал. К сожалению, мне не удалось найти никакой документации по этому поводу, и я не уверен, что Azure DevOps также может что-то делать на машинах агентов (например, запускать очистку, обновлять агенты и т. Д.).

В настоящее время в процессе участвует человек с правами администратора в Azure DevOps, который должен отключить агент, позволяющий администратору сервера выполнять регулярное обслуживание, и снова включить его, когда администратор сервера завершит работу. Было бы здорово, если бы администратор сервера не мог каждый раз привлекать администратора Azure DevOps для выполнения таких процедур.


person Ivan    schedule 25.03.2019    source источник
comment
пожалуйста, подтвердите, удовлетворены ли вы моим ответом или нет. заранее спасибо!   -  person Eriawan Kusumawardhono    schedule 27.03.2019


Ответы (1)


Благодаря тому, что у вас есть собственные агенты Azure Pipelines, обслуживание должно быть проще, и у вас будет полный контроль над автоматическим обслуживанием или без него. Если вы используете размещенные агенты Microsoft, вы не сможете обновить размещенные агенты от Microsoft, потому что эти агенты обслуживаются исключительно Microsoft.

Лучший способ сделать это - разместить более одного агента на одном экземпляре машины, а затем организовать их в одном пуле. Если у вас несколько пулов, вы можете настроить Azure DevOps так, чтобы у каждого пула было разное расписание окон обслуживания, чтобы иметь разное время, и дать некоторое время для загрузки и настройки.

Например, я обычно настраиваю период обслуживания в выходные дни, например, рано утром в воскресенье, один раз в месяц в определенный день. И для любых пулов, которые у меня есть, я дал им интервалы в 40 минут для каждого пула для обслуживания, чтобы дать агенту достаточно времени для загрузки, обновления и перезапуска.

Пожалуйста, обратитесь к этой документации за подробным объяснением и вариантами использования:

Для Azure DevOps Server:

  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
person Eriawan Kusumawardhono    schedule 25.03.2019