mirror of
				https://github.com/silverbulleters/vanessa-usher.git
				synced 2025-10-31 00:17:38 +02:00 
			
		
		
		
	
			
				
					
						
					
					develop
				
			
			
		
	VU-10629: Загрузка расширений из хранилища, сборка расширений
 Курс "Имплементация инженерных практик" по ссылке
  Курс "Имплементация инженерных практик" по ссылке 
Vanessa-Usher: библиотека автоматизации сборочного цикла для 1С:Предприятие
Библиотека предназначена для быстрого создания сборочных линий CI/CD для прикладных решений на платформе 1С:Предприятие.
Возможности:
- Экспорт истории хранилища 1С в Git
- Проверочный контур, состоящий из шагов:
- Подготовка окружения
- Синтаксическая проверка платформой 1С
- Статический анализ проекта в SonarQube
- Дымовое тестирование
- Модульное тестирование
- Поведенческое тестирование
- Публикация отчетов AllureиjUnit
- Сборка поставки конфигурации
- Отправка уведомлений
- На электронную почту
- В Slack
 
 
Состав библиотеки
- Каталог vars- основной каталог с методами библиотеки.
- Каталог examples/template- шаблон нового проекта.
Быстрый старт
Подключение
Подключить библиотеку по инструкции Using libraries.
В поле Name установить значение usher2.
Jekinsfiles
Рассмотрим примеры из шаблона проекта examples/template.
Запуск экспорта истории хранилища 1С (Jenkinsfile_gitsync):
@Library('usher2') _
repoSyncPipeline('tools/pipeline/gitsync.json')
Запуск проверочного контура (Jenkinsfile):
@Library('usher2') _
buildPipeline('tools/pipeline/ci.json')
Настройка конфигурации
Для каждого 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": "test@mail.ru"
  },
  "defaultInfobase": {
    "connectionString": "/F./build/ib",
    "auth": ""
  },
  "stages": {
    "gitsync": true
  }
}
Пример запуска проверочного контура:
{
  "agent": "slave",
  "v8Version": "8.3.15",
  "notification": {
    "mode": "EMAIL",
    "email": "test@mail.ru"
  },
  "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.
Как стать контрибьютором
- Сделать Fork проекта
- Клонировать Fork на свою машину
- Создать Issue на странице проекта (или взять в работу ранее созданный)
- Внести необходимые изменения в Fork
- Сделать коммит, указав в начале #<НомерIssue>
- Создать PullRequest и подождать его принятия
- Profit!
Благодарности участникам разработки
Лицензия
Лицензию читать здесь LICENSE.md
Description
				
					Languages
				
				
								
								
									Groovy
								
								100%
							
						
					
