Показать сообщение отдельно
Старый 10.04.2025, 11:33   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от kitty Посмотреть сообщение
Если все работает в PROD и копию базы(то есть, включая modelstore) восстановить в PrePROD, то обязательно ли снова гегерить CIL? Или можно скопировать XppIL.dll и обойтись без повторной компиляции + генерации CIL? (впевдо-код все равно в model store уже есть, то есть, компилировать не обязательно, думаю. А вот с dll не очень понимаю. Наверное, зависит от машины, на которой генеришь) Таким образом можно сэкономить несколько часов и иметь гарантированно рабочее приложение, как в PROD
CIL состоит из двух частей (условно) - это записи в таблички SysXppAssembly, которая находится в БД модели и папка XppIL с лежащими в ней подпапками и файлами, которая хранится на АОСе.
Т.е. теоретически, если восстановить БД модели и заменить папку XppIL на всех АОСах PrePROD-а, то должно сработать.
Но я не проверял, потому что при копировании приложения (через бекап / восстановление БД модели) я просто собираю полный CIL на целевом приложении (в данном случае PrePROD). Это занимает минут 20-30. Тут достаточно спорный вопрос - что быстрее копировать папку XppIL или собрать полный CIL при условии, что копируется еще подпапка source c более, чем 300 тыс файлов. Без нее конечно быстрее, но у нас обычно PrePROD еще иногда может использоваться для отладки, а значит эта папка 100% нужна

В то же время, зашив в Powershell-скрипт все шаги по копированию БД, сборки CIL, перенастройки SSRS-отчетов и прочих интеграций - можно добиться достаточно быстрого копирования. Собственно - без учета времени копирования основной БД или синхронизации (если брать только модель) - то в сумме вся процедура занимает около 30-40 минут (5 минут тратится на первый старт АОСа после очистки таблички SysXppAssembly).
__________________
Возможно сделать все. Вопрос времени