Да, вы можете настроить процесс сборки обработок и отчетов 1С с использованием self-hosted GitLab CI/CD. Процесс может включать следующие шаги:
1. **Структура проекта**:
Убедитесь, что ваш проект имеет структуру, где исходные файлы обработок и отчетов находятся в репозитории GitLab в отдельной директории. Это облегчит настройку CI/CD.
2. **Создание `.gitlab-ci.yml`**:
Разработайте файл конфигурации GitLab CI/CD (`.gitlab-ci.yml`), в котором опишите этапы сборки и публикации. Пример файла может выглядеть следующим образом:
```yaml
stages:
- build
- release
build:
stage: build
script:
- echo "Starting build of reports and processing tasks"
- # Установите необходимые зависимости и инструменты
- # Например, у вас может быть скрипт для сборки
- ./build_script.sh # Ваш скрипт для сборки .epf и .erf файлов
artifacts:
paths:
- output/*.epf
- output/*.erf
release:
stage: release
script:
- echo "Creating release..."
- # Используйте GitLab API для создания релиза
- curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=Release $CI_COMMIT_TAG&tag_name=$CI_COMMIT_TAG&description=Automated release" "https://gitlab.example.com/api/v4/projects/$CI_PROJECT_ID/releases"
- echo "Release created successfully"
only:
- tags
```
Заметьте, что в данном примере сборка выполняется в первом этапе, а публикация происходит только при наличии тегов (это значит, что вы хотите делать релиз при создании нового тега).
3. **Скрипт сборки**:
Вам нужно реализовать скрипт `build_script.sh`, который, используя инструменты, такие как `1C:Enterprise`, собирает ваши обработку (.epf) и отчет (.erf) из исходных файлов. Вы можете использовать командную строку для компиляции, если у вас установлен `1C:Enterprise`.
4. **Создание релиза**:
Когда сборка завершена, вы можете использовать GitLab API, чтобы создать релиз и прикрепить скомпилированные файлы (.epf и .erf) к релизу. В примере выше вы можете использовать `curl` для выполнения POST-запроса к API GitLab.
5. **Тестирование**:
Обязательно протестируйте ваш процесс на тестовом репозитории перед тем, как переносить его на боевой проект. Убедитесь, что сборка проходит успешно и файлы релизов создаются корректно.
6. **Документация и поддержка**:
Ознакомьтесь с документацией GitLab CI/CD и API для более глубокого понимания возможностей настройки и взаимодействия с системой.
В итоге, с помощью self-hosted GitLab CI/CD, Docker и скриптов bash вы сможете автоматизировать процесс сборки и публикации отчетов и обработок 1С, что значительно упростит вашу работу.