firstBitMarksistskaya / jenkins-lib

Jenkins shared library для 1С:Предприятие 8
MIT License
158 stars 67 forks source link

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

Closed Segate-ekb closed 4 months ago

Segate-ekb commented 5 months ago

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

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

Summary by CodeRabbit

coderabbitai[bot] commented 5 months ago

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

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

Изменения

Файлы Краткое описание изменений
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 - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

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 .` - `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](https://coderabbit.ai/integrations/coderabbit-overrides.v2.json). - 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](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback.
nixel2007 commented 5 months ago

@ovcharenko-di @ivanmolodec

ovcharenko-di commented 5 months ago

boromir.jpg

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

Segate-ekb commented 5 months ago

boromir.jpg

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

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

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

ivanmolodec commented 5 months ago

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

ovcharenko-di commented 5 months ago

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

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

ivanmolodec commented 4 months ago

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

nixel2007 commented 4 months ago

@Segate-ekb мяу

Segate-ekb commented 4 months ago

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