https://github.com/nixel2007/gitlab-ci-for-1c
https://github.com/nixel2007/gitlab-ci-for-1c
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nixel2007/gitlab-ci-for-1c
- Owner: nixel2007
- License: mit
- Created: 2016-03-31T12:23:47.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-03-31T19:14:29.000Z (about 9 years ago)
- Last Synced: 2024-12-31T20:16:43.417Z (6 months ago)
- Language: Batchfile
- Size: 13.7 KB
- Stars: 61
- Watchers: 13
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-1c - 1C GitLab CI - скрипты для работы с GitLab CI и 1С (DevOps)
- awesome-1c - 1C GitLab CI - скрипты для работы с GitLab CI и 1С (DevOps / Видео)
README
# gitlab-ci-for-1c
[](https://gitter.im/nixel2007/gitlab-ci-for-1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Готовый упрощенный шаблон для начального разворачивания обновления конфигурации и дополнительных отчетов и обработок для 1С:Предприятие 8 на Gitlab CI.
## Принципы работы (разработка)
**Пуш в master запрещен**
---
### Работа с конфигурацией
В develop или в feature-ветках работа идет "как обычно" - редактируем код, выгружаем конфигурацию в файлы
При коммите и отправке на gitlab в develop или при merge-request из фиче-ветки в девелоп запускается скрипт test_CanCompile.os, проверяющий корректность исходников конфигурации. На эту же задачу CI можно навесить различные TDD и BDD проверки.
> При желании работа ведется через хранилище, настраивается связка с gitsync.os
### Работа с обработками
Для сборки обработок в бинарники предназначен скрипт build_processings.cmd. Так же можно настроить post-recieve хук в git, чтобы обработки собирались автоматически при получении исходинков через git pull.
Сборка обработок осуществляется иерархически от каталога src/processings.Разбор обработок происходит скриптом decompose_processings.cmd
Для этого обработки должны быть помещены в индекс git.
> Важно!
Так как сам каталог processings целиком находится под gitignore, то помещение обработок в индекс выполняется из консоли с флагом -f, например: `git add -f processings/МояОбработка.epf`В итоге под git оказываются только исходники конфигурации и исходники обработок.
## Деплой
При мерже в master-ветку запускается скрипт ci_deploy.os.
Скрипт на основании лога git получает список измененных файлов, обновляет конфигурацию БД (при необходимости), собирает измененные отчеты и обработки и помещает их в справочник "Дополнительные отчеты и обработки". Поиск обработок осуществляется по имени файла.
## Список проблем
* Инкрементальная выгрузка - в какой-то момент работала, потом пришлось отключить и загружать целиком. В скрипте заложена возможность получения конкретного списка измененных файлов и формирования корректной строки запуска конфигуратора в пакетном режиме.
* Конфигурация обновляется динамически. До сих пор не оттестировал работу обновления, требующего выгона пользователей. Вполне вероятно, что в конфигураторе просто повиснет модальное окно, так как каких-либо дополнительных флагов подавления сообщений скрипт на данный момент не пробрасывает.
* Загрузка обработок в справочник "Дополнительные отчеты и обработки" реализована на базе БСП 2.1.3.53. При использовании БСП 2.2 и 2.3 потребуется доработка напильником.