1
0
mirror of https://github.com/firstBitMarksistskaya/jenkins-lib.git synced 2024-12-13 11:27:08 +02:00
Jenkins shared library для 1С:Предприятие 8
Go to file
2020-04-30 00:05:53 +03:00
gradle/wrapper Сборка градлем 2020-03-25 17:27:29 +03:00
jenkinsResources Переезд на градль-рельсы с тестами и объектами 2020-03-26 17:04:42 +03:00
resources Возможность удалять результаты edt для файлов на поддержке 2020-04-29 13:41:43 +03:00
src Запуск stebi на исходниках конфигуратора 2020-04-30 00:05:53 +03:00
test Возврат значения из шага cmd 2020-04-29 17:04:49 +03:00
vars Возврат значения из шага cmd 2020-04-29 17:04:49 +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 Update README.md 2020-04-20 11:44:44 +03:00
settings.gradle.kts Сборка градлем 2020-03-25 17:27:29 +03:00

Jenkins shared library for 1C:Enterprise 8

Цель

Создание библиотеки (или плагина) для Jenkins, позволяющей:

  • максимально упростить написание Jenkinsfile для процесса CI в условиях платформы 1С:Предприятие 8
  • иметь схожий и контроллируемый пайплайн для всех проектов
  • дать пользователю в руки простой декларативный конфигурационный файл, вместо требования описывать всю сложную логику по работе с 1С

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

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

Ограничения

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

Подключение

Инструкция по подключению библиотеки: 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
    }
}