Отдельный узел · CI/CD для BSL
Конвейер сборки и контроля качества 1С:Предприятие
plfi — выделенный узел непрерывной интеграции для кодовой базы BSL. Автоматический анализ модулей, сборка расширений, прогон регрессионных сценариев и развёртывание в изолированные окружения. Работает независимо от кластера core, потребляя артефакты через внутреннюю шину.
47
сборок за сутки
0.24.1
bsl-language-server
6
окружений
2м 18с
средняя сборка
⚙ pipeline · master
#1847
checkout · submodule sync
0.8s
bsl-ls · static analysis
24s
sonar · quality gate
31s
build · cfe extension
52s
deploy · staging-2
в процессе…
smoke · regression suite
ожидание
Топология узла plfi
Схема сети →
// plfi — изолированный CI-узел, связан с core через internal bus
[ разработчик ] ──push──▶ [ git.bslnode.ru ]
│
│ webhook
▼
[ plfi.bslnode.ru ]
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
[ runner-01 ] [ runner-02 ] [ runner-03 ]
bsl-ls sonar build
анализ quality cfe/dt
│ │ │
└───────────────────┼───────────────────┘
▼
[ artifact store ]
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
[ staging-1 ] [ staging-2 ] [ preprod ]
1С 8.3.27 1С 8.3.27 1С 8.3.27
PG 15 PG 15 PG 15
│ │ │
└───────────────────┼───────────────────┘
▼
[ внутренняя шина ]
│
▼
[ core.bslnode.ru ] ← кластер эксплуатации
Сервисы пайплайна
Полный статус →| Компонент | Назначение | Версия | Состояние | Очередь |
|---|---|---|---|---|
| plfi-orchestrator | Управление стадиями пайплайна | 2.11.4 | running | 0 jobs |
| bsl-ls-runner | Статический анализ BSL-модулей | 0.24.1 | 3 workers | 1 job |
| sonar-gate | Контроль quality gate | 10.4 | running | — |
| cfe-builder | Сборка расширений и .dt | 8.3.27 | running | 0 jobs |
| artifact-store | Хранилище артефактов сборки | MinIO 2024 | running | 412 GB |
| deploy-agent | Развёртывание в окружения | 1.8.2 | staging-2 | 1 job |
| regression-suite | Дымовые и регрессионные тесты | 3.2.0 | scheduled | ожидание |
Окружения развёртывания
Все среды →
staging-1
1С 8.3.27 · up 2м →
Первичная сборка · автотесты
Изолированная ИБ, PostgreSQL 15, сброс после каждой сборки
staging-2
1С 8.3.27 · deploying →
Приёмочные сценарии · ручная проверка
Данные из анонимизированного дампа, доступ по VPN
preprod
1С 8.3.27 · up 14д →
Предпромышленная среда
Полный профиль безопасности, регрессионный прогон
perf-lab
1С 8.3.27 · idle →
Нагрузочное тестирование
Тест-план 200 пользователей, профилирование запросов
Качество кода BSL
Отчёт Sonar →Стандарты
14 активных правил BSL, синхронизированных с core. Автопроверка на каждом PR.
Покрытие
Регрессионные сценарии покрывают 78% критических модулей проведения.
Дубли кода
Автоматический поиск копипасты в общих модулях и обработках.
Скорость
Кэширование зависимостей и параллельные runner-ы сокращают сборку.
Пайплайн как код
# .plfi/pipeline.yml
stages:
- checkout
- bsl-analysis
- sonar-gate
- build
- deploy
- regression
trigger: push · master
# анализ BSL-модуля
bsl-analysis:
image: bslnode/bsl-ls:0.24.1
script:
- bsl-ls analyze src/
- bsl-ls report --junit
rules:
- TryNumber
- UsingCancelParameter
# деплой
deploy:
stage: deploy
environment: staging-2
script:
- plfi deploy cfe
- plfi verify --smoke
when: manual