You've already forked jenkins-lib
forked from jenkins/jenkins-lib
67 lines
3.2 KiB
Markdown
67 lines
3.2 KiB
Markdown
![]() |
# Jenkins shared library for 1C:Enterprise 8
|
||
|
|
||
|
Общие положения:
|
||
|
|
||
|
* в активной разработке и поиске "своего пути" по разработке библиотеки;
|
||
|
* формат конфигурационного файла **не** стабилизирован;
|
||
|
* обратная совместимость **пока** не гарантируется, внимательно читайте changelog;
|
||
|
* количество stage будет со временем увеличиваться;
|
||
|
* использовать на свой страх и риск;
|
||
|
* любая помощь приветствуется.
|
||
|
|
||
|
Ограничения:
|
||
|
|
||
|
1. Для шага подготовки требуется любой агент с меткой `agent`.
|
||
|
1. Для запуска шага анализа SonarQube требуется агент с меткой `sonar`.
|
||
|
1. Для запуска шагов, работающих с 1С (подготовка, синтаксический контроль и т.д.) требуется агент с меткой, совпадающей со значением в поле `v8version` файла конфигурации.
|
||
|
1. В качестве ИБ используется файловая база, создаваемая в `./build/ib`, без данных авторизации. Переопределение "в следующих сериях".
|
||
|
1. Stage "Дымовые тесты" пока пустой.
|
||
|
|
||
|
## Подключение
|
||
|
|
||
|
Инструкция по подключению библиотеки: https://jenkins.io/doc/book/pipeline/shared-libraries/#using-libraries
|
||
|
|
||
|
## Примеры Jenkinsfile
|
||
|
|
||
|
Если в настройках подключения shared-library включен флаг "Load implicitly":
|
||
|
|
||
|
```groovy
|
||
|
pipeline1C()
|
||
|
```
|
||
|
|
||
|
В обратном случае:
|
||
|
|
||
|
```groovy
|
||
|
@Library('jenkins-lib') _
|
||
|
|
||
|
pipeline1C()
|
||
|
```
|
||
|
|
||
|
> Да, вот и весь пайплайн. Конфигурирование через json.
|
||
|
|
||
|
## Конфигуирование
|
||
|
|
||
|
По умолчанию применяется [файл конфигурации из ресурсов библиотеки](resources/globalConfiguration.json)
|
||
|
|
||
|
Поверх него накладывается конфигурация из файла `jobConfiguration.json` в корне проекта, если он присутствует.
|
||
|
|
||
|
Пример переопределения:
|
||
|
|
||
|
* указывается точная версия платформы (и соответственно метка агента, см. ограничения)
|
||
|
* идентификаторы credentials для пути к хранилищу и к паре логин/пароль для авторизации в хранилище
|
||
|
* включаются шаги запуска статического анализа и синтаксического контроля
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"v8version": "8.3.14.1976",
|
||
|
"secrets": {
|
||
|
"storagePath": "f7b21c02-711a-4883-81c5-d429454e3f8b",
|
||
|
"storage" : "c1fc5f33-67d4-493f-a2a4-97d3040e4b8c"
|
||
|
},
|
||
|
"stages": {
|
||
|
"sonarqube": true,
|
||
|
"syntaxCheck": true
|
||
|
}
|
||
|
}
|
||
|
```
|