Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed

Conversation

ovcharenko-di
Copy link
Contributor

@ovcharenko-di ovcharenko-di commented Dec 6, 2021

Closes #40

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

Почему WiP:

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

@nixel2007
Copy link
Member

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

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

@ovcharenko-di
Copy link
Contributor Author

@nixel2007

image

@kuzja086
Copy link
Contributor

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

@ovcharenko-di
Copy link
Contributor Author

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

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

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

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

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

@kuzja086
Copy link
Contributor

@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) быть доступен?

@ovcharenko-di
Copy link
Contributor Author

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

@kuzja086
Copy link
Contributor

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

@ovcharenko-di
Copy link
Contributor Author

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

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

@kuzja086
Copy link
Contributor

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

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

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

@Eufes
Copy link

Eufes commented Aug 17, 2022

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

@ovcharenko-di
Copy link
Contributor Author

@Eufes

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

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

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

@nixel2007
Copy link
Member

Superseded by #124

@nixel2007 nixel2007 closed this Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Инициализация ИБ из DT с последующим обновлением
4 participants