Я смотрю на инструментальные средства DevOps для большого проекта на основе HDInsight и хочу перейти к правильной настройке CI / CD.В настоящее время компоненты развертываются в среде на индивидуальной основе, в зависимости от того, что изменилось в данном выпуске.Это не лучшая практика, поскольку это позволяет риску конфигурации среды отойти от контроля источника.Рекомендуется, чтобы автоматизация развертывания оценивала все развернутые компоненты, чтобы увидеть, отличаются ли они от того, что указано в системе контроля версий, и соответствующим образом обновлять среду.То есть сценарии развертывания должны быть идемпотентными.
В этом проекте мы сохраняем все DDL Hive как сценарии CREATE TABLE.Если вы выполните сценарий CREATE TABLE поверх уже существующей таблицы, сценарий завершится ошибкой.Вы можете обернуть сценарий в «ЕСЛИ НЕ СУЩЕСТВУЕТ… СОЗДАТЬ ТАБЛИЦУ», но тогда он не сможет обнаружить, изменился ли какой-либо из столбцов.
Ранее, когда я работал со складами на основе SQL ServerЯ бы использовал SSDT (SQL Server Data Tools) для этого, у которого были некоторые умные функции для сравнения DDL в управлении исходным кодом с работающей базой данных и для внесения обновлений по мере необходимости.
Что лучше всего подходит для DevOpsс ульями?Есть ли какие-нибудь инструменты, которые я должен использовать?
Заранее спасибо.