Развертывание базы данных VSTS в Azure - цикл группы задач (или что-то в этом роде) - PullRequest
0 голосов
/ 29 мая 2018

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

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

Я занимался поиском и проверкой шансов в течение нескольких дней, но не могу найти ничего, касающегося того, как это можно сделать.Какие-нибудь мысли?Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Прежде всего, я хочу признать, что чтение ответа от @jessehouwing вызвало у меня несколько мыслей.

Как он упоминает в своем ответе, нет ничего, что напрямую делало бы то, что выспрашиваешь.Однако некоторые методы приходят на ум, в зависимости от того, как вы хотите развернуть базы данных.

  1. Шаблоны ARM -
    1. Настройка шаблона ARM, использующего ResourceИтерация для развертывания нескольких баз данных Azure SQL.(См. MS DOCS о том, как это сделать).Настройте шаблон для копирования схемы существующей БД в новые.Вам понадобится, чтобы БД шаблона была развернута в Azure, чтобы выступать в качестве источника схемы.Чтобы настроить шаблон ARM для создания новых баз данных в качестве копии шаблона, просмотрите свойство createMode шаблона ARM базы данных SQL ( Документация по шаблону SQL ARM ).
    2. Запуск Powershellскрипт, который запрашивает основную БД для получения списка компаний ( Запрос БД из Powershell ).
    3. Вывод результатов запроса БД в переменную VSTS и передачу этой переменной в шаблон ARMдля создания баз данных.
  2. DACPAC -
    1. Создание DACPAC из проекта БД SQL в Visual Studio.
    2. Youможно либо создать DACPAC, который определяет только схему БД, и использовать вышеописанную технику ARM-шаблона для запуска DACPAC для каждой базы данных, которая вам нужна, в гибридной технике, либо
    3. .БД для списка компаний и создает базу данных для каждой на основе определенной схемы.Этот параметр инкапсулирует процесс создания схемы и запроса основной базы данных для создания всех в одном артефакте развертывания

Каждый параметр имеет свои плюсы и минусы.Опция ARM Template даст вам большую гибкость, но требует наличия базы данных шаблонов для копирования.

Опция DACPAC требует знакомства с использованием этой техники для развертывания баз данных и может по-прежнему требоватьШаблон ARM, чтобы сделать процесс максимально гибким.Это действительно дает возможность инкапсулировать все части развертывания БД в один шаг.

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

0 голосов
/ 29 мая 2018

В среде VSTS Build / Release отсутствует концепция цикла.

Существует несколько обходных путей:

  • Запустите скрипт powershell и реализуйте логику.Использование конструкций цикла в Powershell.
  • Запустите PowerShell, чтобы вызвать столько сборок, сколько вы хотите, используя REST API.
...