/1C-Deploy-and-CopyDB

Набор скриптов для деплоя базы 1С через хранилище и копирование через sql-бекап одной базы в другую

Primary Language1C EnterpriseMIT LicenseMIT

1C-Deploy-and-CopyDB

Набор скриптов для деплоя базы 1С через хранилище и копирование через sql-бекап одной базы в другую

Что это?

Подробнее в статье http://infostart.ru/public/617478/

Есть 2 основных оскрипта deploy.os и CopyBase.os

  1. Оба читают параметры из json файлов
  2. Выполняют их тестирование - что к хранилищу коннектится, что кластер отвечает и что доступ к скулю получен.
  3. CopyBase.os копирует базу данных из другой базы. Типа когда захотелось получить свежие данные из рабочей в свою. Проверяет, что соединений с указанной базой нет, делает скульный бекап источника, разворачивает в указанную базу, отрубает старое хранилище и подрубает новое, обновляет базу. Выглядит так

CopyDB

  1. deploy.os выполняет деплой в РБ. С помощью деплойки блокирует и выгоняет пользователей, обновляется из хранилища и запускает миграцию. Выглядит так

deploy

  1. 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

Для дублирования сообщений в Slack:

  1. Создайте входящий вебхук для нужной команды
  2. Скопируйте Webhook URL в файл параметров или установите его через переменную окружения set slack_WebhookURL=https://hooks.slack.com/services/...
  3. Переопределите другие параметры при необходимости

Используемые проекты

  • Проект основан на 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 пример