Антон СтепановandGitHub ecf1c09d38 Merge pull request #7 from Kyrales/master
Исправлено: Возможность без хранилища копировать данные
2021-06-20 13:27:51 +03:00
2017-05-01 09:15:21 +03:00

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 пример

S
Description
Набор скриптов для деплоя базы 1С через хранилище и копирование через sql-бекап одной базы в другую
Readme MIT
142 KiB
Languages
1C Enterprise 99.8%
Batchfile 0.2%