1
0
mirror of https://github.com/nixel2007/gitlab-ci-for-1c.git synced 2024-11-19 16:39:22 +02:00
Go to file
Nikita Gryzlov 34c4bd0d4f Merge pull request #1 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2016-03-31 22:14:27 +03:00
doc Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
processings Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
scripts source -> src 2016-03-31 16:05:18 +03:00
src Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
vendor Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
.gitignore Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
.gitlab-ci.yml Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
.gitmodules Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
LICENSE Подгружена структура репозитория 2016-03-31 15:56:50 +03:00
README.md Add Gitter badge 2016-03-31 19:13:58 +00:00
VERSION Подгружена структура репозитория 2016-03-31 15:56:50 +03:00

gitlab-ci-for-1c

Join the chat at https://gitter.im/nixel2007/gitlab-ci-for-1c

Готовый упрощенный шаблон для начального разворачивания обновления конфигурации и дополнительных отчетов и обработок для 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 потребуется доработка напильником.