Набор скриптов для деплоя базы 1С через хранилище и копирование через sql-бекап одной базы в другую
Подробнее в статье http://infostart.ru/public/617478/
Есть 2 основных оскрипта deploy.os и CopyBase.os
- Оба читают параметры из json файлов
- Выполняют их тестирование - что к хранилищу коннектится, что кластер отвечает и что доступ к скулю получен.
- CopyBase.os копирует базу данных из другой базы. Типа когда захотелось получить свежие данные из рабочей в свою. Проверяет, что соединений с указанной базой нет, делает скульный бекап источника, разворачивает в указанную базу, отрубает старое хранилище и подрубает новое, обновляет базу. Выглядит так
- deploy.os выполняет деплой в РБ. С помощью деплойки блокирует и выгоняет пользователей, обновляется из хранилища и запускает миграцию. Выглядит так
- deploy.os так же можно запустить только для динамического обновления
Отличия от deployka:
- Есть тест параметров, а то я раз 5 перезапускал скрипт в первый раз довводя правильные параметры. Особенно обидно когда крашится на последнем этапе.
- Весь код на оскрипте, из батника только вызов. Если кому то в оскрипте удобнее, чем в bat разрабатывать/отлаживать
- Есть выполнение бекапов, а недавняя история с гитлабом убедила меня, что лишний бекап никогда не помешает, даже когда есть 5 альтернативных планов
- Более удобное изменение параметров через файлы. Любой параметр указывается в одном и только в одном месте
Все параметры перечислены в примере
Любой параметр можно так же переопределить через переменную окружения
set slack_StartMessage=:ghost: *import UPP*
set slack_channel=@Stepa86
..\..\..\oscript\bin\oscript.exe ..\..\..\src\CopyBase.os import.json
Для дублирования сообщений в Slack:
- Создайте входящий вебхук для нужной команды
- Скопируйте Webhook URL в файл параметров или установите его через переменную окружения
set slack_WebhookURL=https://hooks.slack.com/services/...
- Переопределите другие параметры при необходимости
-
Проект основан на oscript.io
-
/src/deploy.os основана на библиотеке deployka. Для нужд проекта пришлось добавить новую функциональность, которая несколько противоречит основной идее приложения (деплойка использована как библиотека, а не как приложение), и поэтому она не была модифицирована через PR. Включена в этот проект. /src/lib/deployka_m
-
Используются библиотеки cmdline, logos, v8runner, 1commands, readparams и progbar. Они должны быть заранее скачены и установлены через opm
opm update opm
opm install cmdline
opm install logos
opm install v8runner
opm install 1commands
opm install progbar
opm update -all
В src весь код, в bin пример