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

Инициализация БД и загрузка расширений

Open Segate-ekb opened this issue 1 year ago • 6 comments

Иногда, разработка ведется так, что без загруженного расширения конфа не работает т.к. логика работы определенных механизмов переопределена именно в расширении.

Предлагаю поменять стадию загрузки расширения и стадию первоначальной инициализации базы местами.

Summary by CodeRabbit

  • Изменения в функциональности
    • Изменён порядок этапов 'Инициализация ИБ' и 'Загрузка расширений в конфигурацию', а также обновлены условия и действия в этих этапах.
    • Обновлена ссылка на изображение в файле README.md, связанную с внешним видом конвейера в интерфейсе Blue Ocean.

Segate-ekb avatar Mar 20 '24 07:03 Segate-ekb

Обзор изменений

Это обновление включает в себя изменение порядка выполнения этапов 'Инициализация ИБ' и 'Загрузка расширений в конфигурацию', а также соответствующее обновление условий и действий внутри этих этапов. Эти изменения направлены на оптимизацию процесса развертывания и повышение его эффективности.

Изменения

Файлы Краткое описание изменений
vars/pipeline1C.groovy Изменен порядок этапов 'Инициализация ИБ' и 'Загрузка расширений в конфигурацию', обновлены условия и действия.
README.md Обновлена ссылка на изображение в файле README.md, связанное с отображением конвейера в интерфейсе Blue Ocean.

🐰✨ В коде изменения внесены, Порядок новый мы нашли. 'Инициализация' теперь впереди, 'Расширения' следом идут, вереди. Вместе мы сильнее, ведь каждый вклад важен, Кролик-кодер с радостью заметит каждый шажок. 🚀🌟

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit-tests for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit tests for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

coderabbitai[bot] avatar Mar 20 '24 07:03 coderabbitai[bot]

@ovcharenko-di @ivanmolodec

nixel2007 avatar Mar 20 '24 07:03 nixel2007

boromir.jpg

просто поменять местами стадии не получится, т.к. база создается впервые на шаге initInfobase. надо разделять, получается (upd: а может, это и правильно)

ovcharenko-di avatar Mar 20 '24 07:03 ovcharenko-di

boromir.jpg

просто поменять местами стадии не получится, т.к. база создается впервые на шаге initInfobase. надо разделять, получается (upd: а может, это и правильно)

не, база создается на шаге stage('Создание ИБ') {

А запуск первоначального заполнения на шаге stage('Инициализация ИБ') {

Segate-ekb avatar Mar 20 '24 07:03 Segate-ekb

Да, это логичное изменение. Особенно если разработка сделана только при помощи расширения и там тоже есть функции первого запуска - мы тогда получается вообще исключаем возможность их срабатывания если не поменяем порядок. У себя на проекте запустил, всё отработало штатно. Надо только в PR добавить в ридми картинку измененную с пайплайном в блю-оушен

ivanmolodec avatar Mar 20 '24 08:03 ivanmolodec

@Segate-ekb и правда, перепутал

ну тогда "в путь"

ovcharenko-di avatar Mar 20 '24 08:03 ovcharenko-di

Мы тут с Никитой покумекали, и возник вопрос корректно ли так шаги перемещать. На данный момент загрузка расширения происходит не платформенным методом, а при помощи обработки т.е. требует запуска системы. Команда установки расширения: run --command "Путь=YAXUnit.cfe;ЗавершитьРаботуСистемы;" --execute $runnerRoot/epf/ЗагрузитьРасширениеВРежимеПредприятия.epf А вот команда инициализации БД: run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute $runnerRoot/epf/ЗакрытьПредприятие.epf Конфа на которой я тестил без БСП поэтому при первом запуске она никакие обработчики автоматом не запускает и поэтому проблем нет. А вот если конфа на БСП то не возникнет ли ошибок связанных с тем что при запуске пойдут обработчики обновления автоматом и прочие проверки легальности? Эта команда их прервет и сможет влить расширение чтобы потом уже по-человечески запускать конфу с установленным расширением и ключом обновления?

ivanmolodec avatar Apr 26 '24 10:04 ivanmolodec

@Segate-ekb мяу

nixel2007 avatar Apr 27 '24 10:04 nixel2007

Погонял тесты на разных конфигах, проблем не заметил. Расширения грузятся нормально и потом инициализация так-же проходит нормально

Segate-ekb avatar May 02 '24 12:05 Segate-ekb