diff --git a/README.md b/README.md index fc0d9c8..b81bb4e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Создание библиотеки (или плагина) для Jenkins, позволяющей: * максимально упростить написание Jenkinsfile для процесса CI в условиях платформы 1С:Предприятие 8 -* иметь схожий и контроллируемый пайплайн для всех проектов +* иметь схожий и контролируемый пайплайн для всех проектов * дать пользователю в руки простой декларативный конфигурационный файл, вместо требования описывать всю сложную логику по работе с 1С ## Общие положения @@ -21,11 +21,21 @@ 1. Для шага подготовки требуется любой агент с меткой `agent`. 1. Для запуска шага анализа SonarQube требуется агент с меткой `sonar`. +1. Для запуска шага валидации EDT требуется агент с меткой `edt` (для собственно валидации) и агент с меткой `oscript` (для трансформации результатов с помощью библиотеки [stebi](https://github.com/Stepa86/stebi)). 1. Для запуска шагов, работающих с 1С (подготовка, синтаксический контроль и т.д.) требуется агент с меткой, совпадающей со значением в поле `v8version` файла конфигурации. 1. В качестве ИБ используется файловая база, создаваемая в `./build/ib`, без данных авторизации. Переопределение "в следующих сериях". 1. Stage "Дымовые тесты" пока пустой. 1. Запуск `vrunner` на текущий момент происходит из локального каталога `oscript_modules`. Предполагается наличие в корне репозитория файла `packagedef`, в котором бы была указана зависимость от `vanessa-runner` +## Возможности + +1. Все шаги можно запустить на базе docker-образов из форка репозитория onec-docker. См. [памятку по слоям и последовательности сборки](https://github.com/firstBitSemenovskaya/onec-docker/blob/feature/first-bit/Layers.md) +1. Трансформация кода из формата конфигуратора в формат EDT (только если включен шаг `edtValidate`). +1. Подготовка информационной базы по версии из хранилища конфигурации. +1. Запуск синтаксического контроля средствами конфигуратора и сохранение результатов в виде отчета jUnit. +1. Запуск валидации проекта средствами EDT и конвертация отчета в формате generic issues. +1. Запуск статического анализа для SonarQube + ## Подключение Инструкция по подключению библиотеки: https://jenkins.io/doc/book/pipeline/shared-libraries/#using-libraries @@ -48,7 +58,7 @@ pipeline1C() > Да, вот и весь пайплайн. Конфигурирование через json. -## Конфигуирование +## Конфигурирование По умолчанию применяется [файл конфигурации из ресурсов библиотеки](resources/globalConfiguration.json) @@ -57,11 +67,12 @@ pipeline1C() Пример переопределения: * указывается точная версия платформы (и соответственно метка агента, см. ограничения) -* идентификаторы credentials для пути к хранилищу и к паре логин/пароль для авторизации в хранилище -* включаются шаги запуска статического анализа и синтаксического контроля +* идентификаторы credentials для пути к хранилищу и к паре логин/пароль для авторизации в хранилище (необходимы, если применяются шаги, работающие с информационной базой) +* включаются шаги запуска статического анализа SonarQube, валидации средствами EDT и синтаксического контроля ```json { + "$schema": "https://raw.githubusercontent.com/firstBitSemenovskaya/jenkins-lib/master/resources/schema.json", "v8version": "8.3.14.1976", "secrets": { "storagePath": "f7b21c02-711a-4883-81c5-d429454e3f8b", @@ -69,6 +80,7 @@ pipeline1C() }, "stages": { "sonarqube": true, + "edtValidation": true, "syntaxCheck": true } }