Непрерывная доставка с изменениями конфигурации - PullRequest
0 голосов
/ 01 июня 2018

Я хотел бы реализовать непрерывную доставку при каждом коммите исходного кода в главную ветку в git.Но в большинстве случаев один только код не изменяется, наряду с выпуском кода, будут изменения БД, а также изменения конфигурации или новые конфигурации.

Поэтому мой вопрос заключается в том, как это обрабатывается при непрерывной доставке, когда есть изменения кода + DB + config.

Давайте рассмотрим пример, в котором у меня есть 3 репо

РепоA - исходный код - для проверки новых функций или исправления ошибок.Автоматическое развертывание Git hook установлено на этом репо

Репо B - изменения БД

Репо C - изменения конфигурации

Теперь у разработчика есть некоторые изменения кода, в которых есть изменения конфигурации именяется и БД.Таким образом, если разработчик сначала проверяет исходный код (который инициирует сборку и развертывание), но требует некоторого времени для проверки изменений БД и изменений конфигурации, в исходной среде будет самый последний код со старой БД или старой конфигурацией.Это противоречиво и может привести к нежелательным результатам.

Я мог бы подумать о 2 решениях, чтобы избежать проблемы:

1) Разработчики должны быть обучены сначала проверять изменения в БД / конфигурации, а затем проверятьв исходном коде.

ИЛИ

2) Есть еще 1 репозиторий - называемый app-release, который представляет собой файл yaml для принятия версии приложения, БД изменяет метаданные (например, имя файла скрипта и т. д.) и конфигурациюизменить метку или версию тега.Имейте автоматическое развертывание в этой ветке репо.Таким образом, разработчик может зарегистрироваться, как он хочет, и, наконец, проверить файл выпуска приложения, который вызовет сборку.

Какие-либо другие предложения, пожалуйста, дайте мне знать?

1 Ответ

0 голосов
/ 01 июня 2018

Я говорю с точки зрения MS SQL Server .Если вы используете проект базы данных, поставляемый с надстройкой Visual Studio SQL Server Data Tools , изменения схемы будут автоматически учтены при развертывании DACPAC .Вы можете выполнить развертывание базы данных DACPAC , используя Powershell или SqlPackage.exe.Эти инструменты сравнивают текущую схему с целевой базой данных, генерируют сценарии синхронизации SQL и выполняют их.

Информация о конфигурации для развертывания DACPAC хранится в профиле xmls, а профиль xmls используетсяво время развертывания DACPAC .Для каждой среды будет отдельный профиль xmls: DEV, INT, UAT, PROD.Изменения схемы будут соответственно развернуты в соответствующей среде на основе профиля xmls.

...