jenkins-lib icon indicating copy to clipboard operation
jenkins-lib copied to clipboard

WiP. Предварительная загрузка dt в ИБ

Open ovcharenko-di opened this issue 2 years ago • 11 comments

Closes #40

Изменения позволяют указать URL к файлу dt, который будет загружен в информационную базу перед ее подключением к хранилищу или перед загрузкой конфигурации из файлов.

Почему WiP:

  • хочу устранить дублирование кода между InitFromFiles и InitFromStorage
  • после загрузки в базу dt на следующих шагах могут потребоваться credentials

ovcharenko-di avatar Dec 06 '21 18:12 ovcharenko-di

хочу устранить дублирование кода между InitFromFiles и InitFromStorage

а давай добавим отдельный stage или просто шаг на уровне pipeline1C, в котором базу создадим, при необходимости загрузим туда дт, а в InitFromFiles и InitFromStorage уже будем вызывать update-dev со --storage или с --src?

nixel2007 avatar Dec 10 '21 13:12 nixel2007

@nixel2007

image

ovcharenko-di avatar Dec 10 '21 15:12 ovcharenko-di

@ovcharenko-di @nixel2007 Чем-то ещё нужно помочь по этой задаче? Готов взяться😊

kuzja086 avatar Apr 20 '22 16:04 kuzja086

@kuzja086 у меня все уже работает почти так, как мне надо.

Почему "почти"? Только недавно появилась необходимость работать не только с dt, но и с 1Cv8.1cd.

Мой кейс такой: ERPУХ, сборка конфигурации + первоначальное заполнение выполняется очень долго, поэтому мне нужно было как-то "кэшировать" эти действия. Раньше я брал базу из уже готового dt. Cейчас ситуация изменилась: начальную базу я формирую отдельным заданием, но мне приходится выгружать ее в dt, потому что jenkins-lib не умеет инициировать базу из 1cd.

@nixel2007 как смотришь на такие изменения:

  • настройку preloadDTURL заменить на режим fromFile (не путать с fromFiles)
  • если то, что скачивается по ссылке, является архивом, разархивировать
  • если содержимое - dt, то загрузить его в ИБ (реализовано), если 1cd - просто переместить в нужную папку (вот это надо сделать)

ovcharenko-di avatar Apr 20 '22 17:04 ovcharenko-di

@kuzja086 у меня все уже работает почти так, как мне надо.

Почему "почти"? Только недавно появилась необходимость работать не только с dt, но и с 1Cv8.1cd.

Мой кейс такой: ERPУХ, сборка конфигурации + первоначальное заполнение выполняется очень долго, поэтому мне нужно было как-то "кэшировать" эти действия. Раньше я брал базу из уже готового dt. Cейчас ситуация изменилась: начальную базу я формирую отдельным заданием, но мне приходится выгружать ее в dt, потому что jenkins-lib не умеет инициировать базу из 1cd.

@nixel2007 как смотришь на такие изменения:

  • настройку preloadDTURL заменить на режим fromFile (не путать с fromFiles)
  • если то, что скачивается по ссылке, является архивом, разархивировать
  • если содержимое - dt, то загрузить его в ИБ (реализовано), если 1cd - просто переместить в нужную папку (вот это надо сделать)

я туплю видимо, файл dt у меня находится в сетевой шаре в preloadDTURL указываю "file://server/dump.dt" получаю ошибку "java.net.ConnectException: Connection refused (Connection refused)..." кого с какой стороны надо подтолкнуть? или файл должен быть именно по http(s) быть доступен?

kuzja086 avatar Apr 25 '22 08:04 kuzja086

@kuzja086 да, сейчас только по http(s). Я использую либо артефакты jenkins, либо стат. веб-сервер.

ovcharenko-di avatar May 23 '22 08:05 ovcharenko-di

Слил PR в текущую ветку Develop и немного добавил условие, т.к. у меня в сценарии в DT уже обновленные данные из хранилища и обновлять не из файла не из хранилища не надо. Сделал в ветке DT https://github.com/kuzja086/jenkins-lib/tree/DT, но не знаю как и кому правильно отправить PR. @ovcharenko-di @nixel2007

kuzja086 avatar May 24 '22 17:05 kuzja086

@kuzja086 обманул насчет file://server/dump.dt, у меня это работает

Значит, у тебя проблема с доступом к этому URL

ovcharenko-di avatar Jun 30 '22 08:06 ovcharenko-di

Скорее всего, но админы сервер организовали, так что все завелось, спасибо =)

@kuzja086 обманул насчет file://server/dump.dt, у меня это работает

Значит, у тебя проблема с доступом к этому URL

kuzja086 avatar Jun 30 '22 09:06 kuzja086

Господа, всем доброго дня. Прошу прощения, что пишу тут (можно будет удалить если что мой пост). Я попробовал заюзать этот релиз (из пулреквеста, кстати, за него большое спасибо) т.к. очень было нужно из dt подгружать базу, и классно, что можно указывать локальные файлики типа "file://localhost/C:/DevOps/dump.dt". Но у меня общий вопрос нет ли какого-то bootstrap-а с проектом на котором бы все работало хотя бы по минимуму, с использованием Jenkins-lib (например хотелось бы использовать пока BDD, TDD, СинтаксЧек, без сонара, без EDT)? Поясню: Вроде бы есть vanessa-bootstrap, но все равно надо перенастраивать, но даже после этого много непонятных ошибок выскакивает при запуске пайплайна - поразгребал уже много всего, но на текущий момент вылазит еще одна ошибка, и возможно, через некоторое время удастся ее побороть, но скорей всего, вылезет другая. Я подумал, наверняка, у вас уже есть какой-то шаблон проекта, с которым можно было бы сравнивать настройки, структуры хранения файлов, может еще чего-то. Например, в текущем случае случае получаю "ОШИБКА - Ошибка XML-протокола при работе с удаленным хранилищем конфигурации". И сейчас понять почему она возникает не понятно. Заранее благодарю.

Eufes avatar Aug 17 '22 13:08 Eufes

@Eufes

Я не уверен, что vanessa-bootstrap "совместима" с jenkins-lib. У меня несколько проектов тестируются под jenkins-lib и в разных вариациях, а особых проблем созданием "окружения" под них я не испытывал. Сперва создал все вручную, потом копипастил.

возможно, через некоторое время удастся ее побороть, но скорей всего, вылезет другая

ну вот это прям "story of my life" 😀

ovcharenko-di avatar Aug 17 '22 13:08 ovcharenko-di