"Задеплойка" (Vanessa-Deployka)

Возврат к списку
Записались на вебинар: (185)
10 Декабря 2016
09:00-10:30
MSK

Пусть база 1С обновляется автоматически

Устали от хаоса изменений прямо на рабочем контуре?
Совершаются ошибки при ручном развертывании и "забываются галочки"?
Хотите обновлять базу по принципу "нажал и забыл"?


Используя deploy'ку Вы избавитесь от рутинных ручных операций при обновлении рабочей инфобазы (контура), а так же избавитесь от хаоса изменений непосредственно в рабочем контуре. Вы получите контроль за состоянием кода в рабочем контуре, стабильный и повторяемый процесс развертывания обновлений, исключающий "человеческий фактор".

Мастер-класс по обновлению информационной базы с помощью deploy'ки поможет :

  • Выявить типичные проблемы неавтоматического обновления
  • Узнать стандартные шаги обновления рабочего контура
  • Понять назначение инструмента
  • Научиться реализовывать типовые шаги внутри деплойки
  • Создавать обновлятор "одной кнопки"
  • Познакомиться со скриптами запуска

Ведущий мастер-класса автор продукта Deployka 

Добавить в календарь (*.ics)
Ведущий:
Андрей Овсянкин Evil Beaver

Обсуждение

Комментарии
Избранное Подписка Сортировка: Древо
1. MGraf 2 02.12.16 19:47 Сейчас в теме
Меня мучает следующий вопрос:
Допустим мы внесли в один и тот же общий модуль сразу несколько изменений - А и Б.
Изменение А мы проверили, изменение Б - еще нет.

Возможно ли автоматически перенести на рабочую базу только те изменения, которые были проверены?
2. MGraf 2 02.12.16 19:49 Сейчас в теме
Допустим мы внесли в один и тот же общий модуль сразу несколько изменений.

Можем ли мы автоматически перенести только те изменения, которые мы проверили и пользователь их одобрил.
3. klinval 262 07.12.16 09:55 Сейчас в теме
Интересная тема, очень хотелось бы посмотреть, но в указанное время не могу...
В связи с этим вопрос: а запись вебинара будет выложена?
5. MGraf 2 10.12.16 11:37 Сейчас в теме
Спасибо! Данный вебинар был действительно очень полезным.
Автоматизация обновления рабочего (да и тестового) контура может сильно облегчить жизнь разработчикам и уменьшить количество возникаемых ошибок.

Перечисленные вами проблемы с консолью администрирования 1С действительно имеют место быть. Вот пара примеров из жизни:
1) Админ установили новую версию платформы, но не установил консоль администрирования. Со всеми вытекающими последствиями.
2) Если на одной системе запущено сразу несколько версий сервера 1С, то чтобы управлять ими, нужно постоянно регистрировать КОМ-компоненту нужной версии.
6. Evil Beaver 5331 10.12.16 13:34 Сейчас в теме
По традиции - презентация
Прикрепленные файлы:
Деплойка.pptx
serge_focus; KroVladS; artbear; +3 Ответить
7. MGraf 2 10.12.16 13:40 Сейчас в теме
8. pumbaE 606 10.12.16 13:43 Сейчас в теме
15. sashocq 191 12.12.16 11:31 Сейчас в теме
(8) Батником — это, конечно, хорошо. Но мы же говорим о том, что можно не изучать другие языки, кроме 1С. Пытаюсь разобраться как написать 1Скрипт для обновления конфигурации из хранилища, выгонялки пользователей и обновления конфигурации БД и как-то в ступоре. Как использовать эту деплойку из *.os?
10. KroVladS 11.12.16 11:26 Сейчас в теме
(0) "Deployka" может обработать предупреждение "Месторасположение информационной базы изменилось" при обновлении конфигурации ИБ из хранилища?
11. pumbaE 606 11.12.16 13:03 Сейчас в теме
(10) она на него не обращает внимания, вам надо как минимум иметь служебного пользователя для хранилища и для базы и их использовать для регламентных заданий.
12. KroVladS 11.12.16 14:34 Сейчас в теме
(11)
она на него не обращает внимания, вам надо как минимум иметь служебного пользователя для хранилища и для базы и их использовать для регламентных заданий.

Накладываем обновления на раб базу bat-ником, есть и служебный пользователь для хранилища и для базы, но если были подключения из под сеансов отличных от того в котором запускается регламент вываливается предупреждение "Месторасположение информационной базы изменилось" которое 1с в пакетном режиме не может обработать и обновление не отрабатывает. Собственно в этом и вопрос "Deployka" может победить это предупреждение?
14. Evil Beaver 5331 12.12.16 02:13 Сейчас в теме
(12) если к одной и той же базе подключается один и тот же пользователь хранилища, то это предупреждение не должно выдаваться. Или я что-то уже забыл. По крайней-мере, давно с такой проблемой не сталкивался. Выделили пользователя под апдейт конкретной базы и все работает.
18. KroVladS 31.01.17 14:41 Сейчас в теме
(10)
предупреждение "Месторасположение информационной базы изменилось" при обновлении конфигурации ИБ из хранилища?

На платформе 8.3.9.2033 такого предупреждения больше нет. Ура товарищи.
20. trntv 16.06.17 12:04 Сейчас в теме
(18) откуда информация? Сейчас сидим на 8.3.10.2252, постоянно вываливается это сообщение.
13. KroVladS 11.12.16 14:38 Сейчас в теме
Я понимаю что методологически не верно что-то обновлять из хранилища вручную если есть регламентное задание, но такие случаи происходят регулярно. Например когда нужно обновит не все изменения из хранилища, а только один модуль.
16. sashocq 191 12.12.16 12:42 Сейчас в теме
Мда... похоже, она на это не рассчитана :-(
17. SviFt 21 13.12.16 17:56 Сейчас в теме
При запуске батника с несколькими шагами http://joxi.ru/a2XVBYau1w6ovr выполняется только первая операция, что не так пример взял из презентации
NeviD; Bazil; antonkms88; civ_pnz; +4 Ответить
19. artbear 1088 14.06.17 13:33 Сейчас в теме
(17) в батнике другие bat-cmd-файлы нужно запускать не простым deployka или unner,

а через call deployka или call runner !
21. ImHunter 21 04.12.17 09:37 Сейчас в теме
Дописал новую команду unbindrepo (отключиться от хранилища).
Как ее использовать.
1. Файл из вложения добавить в каталог \Классы
2. Дописать в файле \Модули\МенеджерКомандПриложения.os строку регистрации новой команды:
Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт
	
	мИсполнителиКоманд = Новый Соответствие;
	
	ДобавитьКоманду("help"    , "КомандаСправкаПоПараметрам"  , Парсер);
	ДобавитьКоманду("loadcfg" , "КомандаЗагрузитьКонфигурацию", Парсер);
	ДобавитьКоманду("loadrepo", "КомандаОбновитьИзХранилища"  , Парсер);
	ДобавитьКоманду("session" , "КомандаУправлениеСеансами"   , Парсер);
	ДобавитьКоманду("dbupdate", "КомандаОбновитьКонфигурациюБД", Парсер);
	ДобавитьКоманду("run",      "КомандаЗапуститьВРежимеПредприятия", Парсер);
	ДобавитьКоманду("unbindrepo", "КомандаОтключитьсяОтХранилища", Парсер); // новая команда
	
КонецПроцедуры
Показать


Команда запускает Конфигуратор с ключами /ConfigurationRepositoryUnbindCfg -force.
В итоге, в Jenkins'е получился такой шаг сборки:
oscript -encoding=Windows-1251 "%OSCRIPTS_dir%\Deployka\deployka.os" unbindrepo /S%BIT_test_server%\%BIT_test_database% -db-user testuser -db-pwd testpwd
Прикрепленные файлы:
КомандаОтключитьсяОтХранилища.os
22. artbear 1088 04.12.17 12:13 Сейчас в теме
(21) Ты молодец.
Но есть вопросы и предложения:
1. А почему не на гитхабе через штатный механизм Гитхаба?
https://github.com/silverbulleters/deployka

2. У нас для работы с CI предназначен продукт vanessa-runner
А команда отключения от хранилища чаще юзается на тестовых ИБ, чем на боевых.
23. ImHunter 21 04.12.17 12:33 Сейчас в теме
(22)
1) Пока еще не являюсь уверенным пользователем Гитхаба
2) Гм. гляну vanessa-runner. Да, как раз на тестовой ИБ и предполагается использовать отключение от хран.

А блокировка регл заданий - чем-то делается?
24. ImHunter 21 04.12.17 14:18 Сейчас в теме
(23) Насчет блокировки регл заданий - сам себе отвечу.
Можно тоже допилить в деплойку.
Насчет vanessa-runner - возможно, на следующем витке эволюции нашей CI и буду ее пробовать. А пока что, все задумывается под дальнейшее использование деплойки. А с ванессой - по-новой придется тратить время и разбираться...
25. artbear 1088 04.12.17 19:54 Сейчас в теме
(24) ванесса-раннер гарантированно работает, мы его юзаем в куче мест.
И есть мысли по переносу деплойки в раннер :)
Раннер сейчас умеет все из деплойки, кроме работы с ras/rac, т.е. управления сеансами.
26. ImHunter 21 07.12.17 07:04 Сейчас в теме
Дописал еще деплойку - теперь она умеет блокировать/разблокировать запуск РЗ.
Порядок использования.
1. В каталоге \Классы заменить файл КомандаУправлениеСеансами
2. Дописать в файле \Модули\МенеджерКомандПриложения.os строку регистрации новой команды:
Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт
	
	мИсполнителиКоманд = Новый Соответствие;
	
	ДобавитьКоманду("help"    , "КомандаСправкаПоПараметрам"  , Парсер);
	ДобавитьКоманду("loadcfg" , "КомандаЗагрузитьКонфигурацию", Парсер);
	ДобавитьКоманду("loadrepo", "КомандаОбновитьИзХранилища"  , Парсер);
	ДобавитьКоманду("session" , "КомандаУправлениеСеансами"   , Парсер);
	ДобавитьКоманду("dbupdate", "КомандаОбновитьКонфигурациюБД", Парсер);
	ДобавитьКоманду("run",      "КомандаЗапуститьВРежимеПредприятия", Парсер);
	ДобавитьКоманду("unbindrepo", "КомандаОтключитьсяОтХранилища", Парсер);
	ДобавитьКоманду("scheduledjobs", "КомандаУправлениеСеансами", Парсер); // новая команда
	
КонецПроцедуры
Показать

Добавилась новая команда scheduledjobs lock|unlock.
В итоге, в Jenkins'е появился шаг сборки:
chcp 1251
oscript -encoding=Windows-1251 "%OSCRIPTS_dir%\deployka\deployka.os" scheduledjobs lock -ras %RAS_BIT_SERVER_TEST% -rac "%PATH_TO_RAC%" -db %BIT_test_database% -db-user %DB1C_USER% -db-pwd %DB1C_PW% 
Прикрепленные файлы:
КомандаУправлениеСеансами.os
27. Andrey_Ars 07.09.18 10:56 Сейчас в теме
Подскажите а как подключить логирование и настроить путь к логу?
Оставьте свое сообщение