Поделиться через


Настройка политики хранения в Azure DevTest Labs

Эта статья содержит сведения о настройке политики хранения, очистке фабрики и прекращении использования старых образов из всех остальных DevTest Labs в организации.

Предварительные требования

Прежде чем продолжить, необходимо ознакомиться со следующими статьями:

Должны присутствовать следующие элементы:

  • Лаборатория для фабрики образов в Azure DevTest Labs.
  • Одна или несколько целевых Azure DevTest Labs, где фабрика будет распространять окончательные образы.
  • Проект Azure DevOps, используемый для автоматизации фабрики образов.
  • Расположение исходного кода, содержащего скрипты и конфигурацию (в нашем примере — в том же проекте DevOps, который использовался выше).
  • Определение сборки для управления задачами Azure PowerShell

Настройка политики хранения

Перед настройкой действий по очистке определите количество образов журнала, которое необходимо хранить в DevTest Labs. В ходе работы со статьей Запуск фабрики образов из Azure DevOps вы настроили различные переменные сборки. Одной из них была ImageRetention. Для этой переменной вы задали значение 1. Это означает, что в DevTest Labs журнал пользовательских образов вестись не будет. Будут доступны только новейшие распределенные образы. Если значение этой переменной изменить на 2, будут сохраняться и последняя распределенная, и предыдущие версии образа. С помощью этого значения можно определить количество образов журнала, которое необходимо поддерживать в DevTest Labs.

Очистка фабрики

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

Снимок экрана: шаг PowerShell.

Когда в списке появится новая задача, выберите элемент и укажите все сведения, как показано на следующем рисунке.

Снимок экрана: задача PowerShell

Параметры скрипта: -DevTestLabName $(devTestLabName).

Прекращение использования старых образов

Эта задача удаляет все старые образы, сохраняя только журнал, соответствующий переменной сборки ImageRetention. Добавьте в определение сборки дополнительную задачу сборки Azure PowerShell. После добавления выберите задачу и заполните сведения, как показано на следующем рисунке.

Снимок экрана: задача PowerShell

Параметры скрипта: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(devTestLabName) -ImagesToSave $(ImageRetention).

Постановка сборки в очередь

Итак, вы завершили определение сборки. Теперь поместите новую сборку в очередь и убедитесь в том, что все работает. После завершения сборки в целевой лаборатории отобразятся новые пользовательские образы. Если вы проверите лабораторию фабрики образов, вы не увидите подготовленных виртуальных машин. Если вы добавите в очередь новые сборки, то заметите, как задачи на очистку начнут прекращать использование пользовательских образов из DevTest Labs. Прекращение использования соответствует значению срока хранения, заданному в переменных сборки.

Примечание

Если вы запустили конвейер сборки, описанный в конце последней статьи этого цикла, вручную удалите виртуальные машины, созданные в лаборатории фабрики образов, прежде чем ставить в очередь новую сборку. Этап очистки вручную требуется только до тех пор, пока вы выполняете настройку и проверяете работоспособность процедуры.

Сводка

Итак, вы запустили фабрику образов, которая может по требованию создавать и распространять пользовательские образы в ваши лаборатории. На данном этапе это просто вопрос правильной настройки образов и определения целевых лабораторий. Как упоминалось в предыдущей статье, файл Labs.json, расположенный в папке Конфигурация, указывает, какие образы должны быть доступны в каждой из целевых лабораторий. При добавлении в организацию других DevTest Labs необходимо просто добавить в файл Labs.json запись для новой лаборатории.

Добавить в фабрику новый образ также несложно. Если вам нужно включить в фабрику новый образ, откройте портал Azure и перейдите к соответствующей лаборатории фабрики. Нажмите кнопку, чтобы добавить виртуальную машину, и выберите нужный образ и артефакты Marketplace. Вместо нажатия кнопки Создать для создания новой виртуальной машины, выберите Просмотреть шаблон Azure Resource Manager. Сохраните шаблон в виде JSON-файла в папке GoldenImages в репозитории. При следующем запуске фабрики образов будет создан пользовательский образ.

Дальнейшие действия

  1. Запланируйте сборку или выпуск для периодического запуска фабрики образов. Созданные фабрикой образы будут регулярно обновляться.
  2. Создайте дополнительные окончательные образы для фабрики. Можно также создать артефакты, чтобы представить больше составляющих задач настройки виртуальной машины в виде сценариев и включить их в образы фабрики.
  3. Создайте отдельную сборку или выпуск для отдельного запуска скрипта DistributeImages. Этот скрипт можно выполнять при внесении изменений в файл Labs.json и получении образов, скопированных в целевые лаборатории, не создавая при этом все образы повторно.