Как определить конвейер выпуска в Azure DevOps для поддерживаемого сине-зеленого развертывания - PullRequest
0 голосов
/ 17 марта 2020

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

Стратегия, о которой я думал, - это своего рода сине-зеленое развертывание, просто я буду работать над половиной (2) виртуальных машин каждый раз.
Это не похоже на развертывание развертывание, так как не будет 2 версий, работающих одновременно.

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

Пока что я не могу сделать сине-зеленую книгу (развертывание полного отдельного набора виртуальных машин в новой версии), поскольку, к сожалению, IP-адреса жестко закодированы. Реальная среда будет хорошо работать с 2 виртуальными машинами только для времени развертывания.

Моя проблема заключается в том, как настроить конвейер выпуска в Azure DevOps для этого типа решения (я использую версию GUI, не ЯМЛ)? (это этапы)

DbConversionDev> FirstHalfDev> SecondHalfDev> DbConversionQA> FirstHalfQA> SecondHalfQA> DbConversionProd> FirstHalfProd> SecondHalfProd

Может быть, стадия преобразования БД может быть параллельной. *

* 1019 кажется сложным и трудно поддерживать. Какие-либо предложения? Заранее спасибо:)

1 Ответ

1 голос
/ 17 марта 2020
Например,

можно попробовать создать групп развертывания , например, первая группа и вторая группа - зарегистрируйте свои агенты / виртуальные машины в группах, а в конвейере выпуска создайте задание группы развертывания для первой группы, затем добавьте шаги, чтобы убедиться, что развертывание было успешным и запущено / работает, и в том же конвейере создайте еще одно задание группы развертывания для второй группы развертывания. (Примечание: вы можете создать задание без агента для любого ручного вмешательства)


РЕДАКТИРОВАТЬ

Вот полное решение в качестве резюме беседы:

Создайте одну группу развертывания для каждой среды (например, Dev, QA, Prod) и пометьте первую половину агентов / виртуальных машин в группе развертывания синим цветом, а другую половину - зеленым.

В конвейере выпуска создайте этап для каждой среды (например, Dev, QA, Prod) и на одном этапе создайте 2 задания группы развертывания для соответствующей группы развертывания (этап разработки -> группа развертывания Dev), каждое Работа с другим тегом: синий и зеленый. Это гарантирует, что на одной работе половина ваших виртуальных машин будет затронута развертыванием.

В целях повторного использования сгруппируйте ваши задачи в группах задач, чтобы использовать их в заданиях группы развертывания.

...