1
0
mirror of https://github.com/firstBitMarksistskaya/jenkins-lib.git synced 2024-11-24 08:52:14 +02:00
Jenkins shared library для 1С:Предприятие 8
Go to file
2020-04-20 11:28:58 +03:00
gradle/wrapper Сборка градлем 2020-03-25 17:27:29 +03:00
jenkinsResources Переезд на градль-рельсы с тестами и объектами 2020-03-26 17:04:42 +03:00
resources Обновление схем 2020-04-17 15:54:20 +03:00
src IgnoreCase deserialization 2020-04-17 15:53:48 +03:00
test Перенос флагов использования в отдельный объект в настройках 2020-04-17 14:24:58 +03:00
vars Архивирование только junit 2020-04-17 15:45:51 +03:00
.gitattributes Наметки по jenkins-lib 2020-03-17 15:38:26 +03:00
.gitignore Переезд на градль-рельсы с тестами и объектами 2020-03-26 17:04:42 +03:00
build.gradle.kts Наметки по созданию конфигурационного файла 2020-03-27 17:23:59 +03:00
gradlew +x 2020-03-25 17:28:09 +03:00
gradlew.bat Сборка градлем 2020-03-25 17:27:29 +03:00
LICENSE.md Первый релиз 2020-04-20 11:28:58 +03:00
README.md Первый релиз 2020-04-20 11:28:58 +03:00
settings.gradle.kts Сборка градлем 2020-03-25 17:27:29 +03:00

Jenkins shared library for 1C:Enterprise 8

Общие положения:

  • в активной разработке и поиске "своего пути" по разработке библиотеки;
  • формат конфигурационного файла не стабилизирован;
  • обратная совместимость пока не гарантируется, внимательно читайте changelog;
  • количество stage будет со временем увеличиваться;
  • использовать на свой страх и риск;
  • любая помощь приветствуется.

Ограничения:

  1. Для шага подготовки требуется любой агент с меткой agent.
  2. Для запуска шага анализа SonarQube требуется агент с меткой sonar.
  3. Для запуска шагов, работающих с 1С (подготовка, синтаксический контроль и т.д.) требуется агент с меткой, совпадающей со значением в поле v8version файла конфигурации.
  4. В качестве ИБ используется файловая база, создаваемая в ./build/ib, без данных авторизации. Переопределение "в следующих сериях".
  5. Stage "Дымовые тесты" пока пустой.

Подключение

Инструкция по подключению библиотеки: https://jenkins.io/doc/book/pipeline/shared-libraries/#using-libraries

Примеры Jenkinsfile

Если в настройках подключения shared-library включен флаг "Load implicitly":

pipeline1C()

В обратном случае:

@Library('jenkins-lib') _

pipeline1C()

Да, вот и весь пайплайн. Конфигурирование через json.

Конфигуирование

По умолчанию применяется файл конфигурации из ресурсов библиотеки

Поверх него накладывается конфигурация из файла jobConfiguration.json в корне проекта, если он присутствует.

Пример переопределения:

  • указывается точная версия платформы (и соответственно метка агента, см. ограничения)
  • идентификаторы credentials для пути к хранилищу и к паре логин/пароль для авторизации в хранилище
  • включаются шаги запуска статического анализа и синтаксического контроля
{
    "v8version": "8.3.14.1976",
    "secrets": {
        "storagePath": "f7b21c02-711a-4883-81c5-d429454e3f8b",
        "storage" : "c1fc5f33-67d4-493f-a2a4-97d3040e4b8c"
    },
    "stages": {
        "sonarqube": true,
        "syntaxCheck": true
    }
}