Типовые сценарии развертывания 1С конфигураций


#1

Для тех кто не в курсе:

у нас наличествует репозиторий автоматизирующий “автоматическое развертывание конфигураций 1С”

Прямо сейчас имеется:

Примерный шаблоны развертывания
Скрипты развертывания

а также задачи на анализ:



Результаты анализа последовательно переносятся в скрипты.

Поэтому если у вас есть новые кейсы / непонятны наши - задавайте вопросы


#2

Не нашел бэкапа базы, перед обновлением? - Интересен был-бы скрипт по запуску для создания бэкапа базы данных на sql серверах. (иногда проще развернуть бэкап, чем ждать отмену транзакции).
Задачи по отключению пользователей и получению версии хранилища - имхо можно параллельно запускать.


#3

Насчет парралельности действительно - мы даже не думали.

А вот с SQL бэкапом тут сложнее - когда СУБД у тебя во владении: тогда просто. А вот когда есть выделенная служба: тогда напрямую к SQL доступа тебе не дают и необходимо заказывать выполнение бэкапа. Нужно подумать…


#4

[quote=“lustin, post:3, topic:57”]
тогда напрямую к SQL доступа тебе не дают
[/quote] так у вас же есть такая страшная команда как

<runner id="RUNNER_8" name="Обновить базу в режиме предприятие" type="simpleRunner">

а если не отработает, в тесте работало, а в production удалит лишнего или недоотработает?
Даже если это будет внешний вызов хранимки?


#5

Да, получается, мы здесь попадаем на какой-то контракт между информационной системой и средствами деплоя. Не соображу, это очень плохо или даже хорошо?


#6

ну бєкап - єто сторона как раз devOps-а, программерам бэкап не нужен.


#8

@artbear @EvilBeaver

Читаю пока http://assets.red-gate.com/products/sql-development/assets/continuous-integration-using-red-gate-tools.pdf

А также https://www.simple-talk.com/blogs/2013/03/21/continuous-integration-for-sql-server-using-red-gate-tools-atlassian-bamboo-and-github/

На базе http://www.red-gate.com/products/sql-development/sql-automation-pack/getting-started

В общем случае я не уверен что в нашем случае необходимо полностью бэкапировать SQL базу.

  1. платформа за счет копирования новых табличек гарантирует обновление, так как исходная табличка НЕ меняется.
  2. бэкапировать нужно только системные таблички - причем НЕ их структуру, а контент.

То есть в общем случае - это должен быть НЕ бэкап, а SQL скрипт DumpBeforeMigrate.sql


#9

Добрый день, изучаю здешние скрипты автоматического развертывания 1С, если я правильно помню у Вас стоит дженкинс? И это к нему скрипт?


#10

Не совсем к Jenkins’у - прикол в том, что у нас есть небольшая проблема.

Народ не может пока выбрать конкретный сервер сборок - поэтому например в репозитории можно обнаружить шаблон для TeamCity https://github.com/xDrivenDevelopment/AutoAdmin1C/tree/develop/buildconfig
В нашем же случае @pumbaE использует Jenkins

Наверное поэтому мы стараемся сделать скрипты портируемыми под любые сервера сборок

P.S. Отдельно скажу что в докладе на Infostart я схитрил и вставил скриншоты с Bamboo Доклад InfostartEvent2014 c дополнениями


#11

Вообще хотелось бы поделиться опытом пакетного обновление ИБ 1С.
Собственно для этого был разработан скрипт на AutoIt
Ознакомится можно тут.

Немного из статистики скрипт разработан для обновления 30 баз ББУ в 2009 г.
после дважды дорабатывался (текущая версия 3)
На текущий момент данный скрипт обновляет 1500+ ББУ в несколько потоков (запуска копий с разными настройками)


#12

Собственно, у меня и проблема уже стоит Bamboo. (и JIRA - основной трекер задач)
Вникаю в настройки и пытаюсь настроить (пока выходит не очень).
Вот и пытаюсь понять как уже можно переложить Ваш опыт к моей настройке.
Уже попытался импортнуть данный скрипт в Bamboo (а не получилось) отсюда и вопрос был.

После настройки поделюсь опытом


#14

Основная “пляска” идет с переменными окружения. Которые “как-бы” должен настраивать администратор на стороне сервера сборок. И вот с переменными окружения, а особенно с паролями у каждого сервера сборок свой подход.


#15

@artbear Да собственно указанный в первом посте
https://github.com/xDrivenDevelopment/AutoAdmin1C/tree/develop/buildconfig.

@lustin Да я уже понял, как раз с переменными разобрался. (глобальные настроил)

На текущий момент разбираюсь с подключением oscript как исполняемого, разделение этапов развертывания на работы ну и далее на таски. (причем это только “Обновление” по готовой cfu или cf), далее сборка данной cf (под сборку не готовы инструменты)

п.с. опубликовал доработанную v83unpack попробовал сделать fork (может, что не так сделал) правда опубликовал сразу epf т.к. назначение обработки у меня получилось другое
если что https://github.com/Khorevaa/v83unpack


#16

offtop: с precommit1c не получилось работать ?


#17

offtop:
@lustin пока не было времени развернуть все и настроить. В ближайшее время попробую.


#18

Для Windows есть 2 родные системы deployment/provisioning/configuration management:

  1. Desired State Configuration (DSC) - активно развивается, сыроват

  2. групповые политики (c Active Directory или без неё)

есть ещё треться
System Management Center, но это слишком для наших целей