Skip to content

Kyrales/vanessa-usher_mod

Repository files navigation

Vanessa-Usher: библиотека автоматизации сборочного цикла для 1С:Предприятие

Библиотека предназначена для быстрого создания сборочных линий CI/CD для прикладных решений на платформе 1С:Предприятие.

Возможности:

  • Экспорт истории хранилища 1С в Git
  • Проверочный контур, состоящий из шагов:
    • Подготовка окружения
    • Синтаксическая проверка платформой 1С
    • Статический анализ проекта в SonarQube
    • Дымовое тестирование
    • Модульное тестирование
    • Поведенческое тестирование
    • Публикация отчетов Allure и jUnit
    • Сборка поставки конфигурации
    • Отправка уведомлений
      • На электронную почту
      • В Slack

Что умеет yard: ярд на базе ашера умеет только выкачивать релиз и раскладывать его в гит, потом пушить в гит Кейс про синхронизация конфигурации вендора Мы так ЕРП собираем и через сонаркуб прогоняем

Состав библиотеки

  • Каталог vars - основной каталог с методами библиотеки.
  • Каталог examples/template - шаблон нового проекта.

Быстрый старт

Подключение

Подключить библиотеку по инструкции Using libraries. В поле Name установить значение usher2.

Jekinsfiles

Рассмотрим примеры из шаблона проекта examples/template.

Запуск экспорта истории хранилища 1С (Jenkinsfile_gitsync):

@Library('usher2') _

repoSyncPipeline('tools/pipeline/gitsync.json')

image-20210810132241700

Запуск проверочного контура (Jenkinsfile):

@Library('usher2') _

buildPipeline('tools/pipeline/ci.json')

image-20210810132219338

Настройка конфигурации

Для каждого pipeline нужно создать конфигурационный файл.

Пример запуска "Экспорт истории хранилища 1С":

{
  "$schema": "https://gitlab.silverbulleters.org/products/avtoinfrastruktura/vanessa-usher2/-/raw/develop/resources/schema.json",
  "agent": "gitsync",
  "v8Version": "8.3",
  "notification": {
    "mode": "EMAIL",
    "email": "[email protected]"
  },
  "defaultInfobase": {
    "connectionString": "/F./build/ib",
    "auth": ""
  },
  "stages": {
    "gitsync": true
  }
}

Пример запуска проверочного контура:

{
  "agent": "slave",
  "v8Version": "8.3.15",
  "notification": {
    "mode": "EMAIL",
    "email": "[email protected]"
  },
  "defaultInfobase": {
    "connectionString": "/F./build/ib"
  },
  "stages": {
    "prepareBase": true,
    "syntaxCheck": true,
    "sonarqube": true,
    "smoke": true,
    "tdd": true,
    "bdd": true,
    "build": true
  },
  "prepareBase": {
    "sourcePath": "./src/cf"
  },
  "sonarqube": {
    "agent": "sonarqube",
    "toolId": "sonar-scanner",
    "serverId": "SonarQube",
    "debug": false
  }
}

Параметры по умолчанию можно изучить здесь example.json.

Лицензия

Лицензию читать здесь LICENSE.md

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published