Дорошкевич Антон | Руководитель проектов | ООО ЦБР "ИнфоСофт"

«1С-Батл. PostgreSQL 9,10 vs MS SQL 2016»

Сравнение возможностей PostgreSQL и MS SQL для работы с 1С. Результаты нагрузочного тестирования "Восстановления последовательности партионного учёта" на базе 1С размером более 1 ТБ. 2 года, 500+ баз 1С, 4ТБ данных Репликация История одного Production 1C на PostgreSQL

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

0. Silverbulleters 313 28.11.16 17:18 Сейчас в теме
Пусть база 1С обновляется автоматически
Устали от хаоса изменений прямо на рабочем контуре?
Совершаются ошибки при ручном развертывании и "забываются галочки"?
Хотите обновлять базу по принципу "нажал и забыл"?
https://www.youtube.com/watch?v=MdORhsa69bk

Перейти к вебинару

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

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

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

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

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

На платформе 8.3.9.2033 такого предупреждения больше нет. Ура товарищи.
20. hashpnd 21 16.06.17 12:04 Сейчас в теме
(18) откуда информация? Сейчас сидим на 8.3.10.2252, постоянно вываливается это сообщение.
13. KroVladS 11.12.16 14:38 Сейчас в теме
Я понимаю что методологически не верно что-то обновлять из хранилища вручную если есть регламентное задание, но такие случаи происходят регулярно. Например когда нужно обновит не все изменения из хранилища, а только один модуль.
16. sashocq 190 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 929 14.06.17 13:33 Сейчас в теме
(17) в батнике другие bat-cmd-файлы нужно запускать не простым deployka или unner,

а через call deployka или call runner !
21. ImHunter 20 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 929 04.12.17 12:13 Сейчас в теме
(21) Ты молодец.
Но есть вопросы и предложения:
1. А почему не на гитхабе через штатный механизм Гитхаба?
https://github.com/silverbulleters/deployka

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

А блокировка регл заданий - чем-то делается?
24. ImHunter 20 04.12.17 14:18 Сейчас в теме
(23) Насчет блокировки регл заданий - сам себе отвечу.
Можно тоже допилить в деплойку.
Насчет vanessa-runner - возможно, на следующем витке эволюции нашей CI и буду ее пробовать. А пока что, все задумывается под дальнейшее использование деплойки. А с ванессой - по-новой придется тратить время и разбираться...
25. artbear 929 04.12.17 19:54 Сейчас в теме
(24) ванесса-раннер гарантированно работает, мы его юзаем в куче мест.
И есть мысли по переносу деплойки в раннер :)
Раннер сейчас умеет все из деплойки, кроме работы с ras/rac, т.е. управления сеансами.
26. ImHunter 20 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
Оставьте свое сообщение

Вакансии

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 160 000 руб.
Полный день

Удаленный бизнес-аналитик 1С
Санкт-Петербург
Временный (на проект)

Разработчик (эксперт) по направлению 1С:ЗУП 3
Санкт-Петербург
зарплата от 130 000 руб.
Полный день