This commit is contained in:
Anton Titovets
2026-06-16 21:24:16 +03:00
parent 9b78dd8d58
commit 74837df63a
4 changed files with 92 additions and 9 deletions
+45 -7
View File
@@ -34,6 +34,7 @@
Перем ШаблонПайплайна;
Перем ШаблонПапки;
Перем ШаблонParallelWrapper;
Перем ШаблонParallelBatchWrapper;
Перем ЛогинJenkins;
Перем ТокенJenkins;
Перем ХостJenkins;
@@ -96,7 +97,8 @@
ПутьШаблонаВыполнения1cFatal = КаталогШаблоновJenkins + "test_exec_1c_fatal.txt";
ПутьШаблонаПайплайна = КаталогШаблоновJenkins + "conf_pipeline.txt";
ПутьШаблонаПапки = КаталогШаблоновJenkins + "conf_folder.txt";
ПутьШаблонаParallelWrapper = КаталогШаблоновJenkins + "test_parallel_wrapper.txt";
ПутьШаблонаParallelWrapper = КаталогШаблоновJenkins + "test_parallel_wrapper.txt";
ПутьШаблонаParallelBatchWrapper = КаталогШаблоновJenkins + "test_parallel_batch_wrapper.txt";
ШаблонCliWindows = Новый ДвоичныеДанные(ПутьШаблонаCliWindows);
ШаблонCliWindows = ПолучитьСтрокуИзДвоичныхДанных(ШаблонCliWindows);
@@ -150,6 +152,9 @@
ШаблонParallelWrapper = Новый ДвоичныеДанные(ПутьШаблонаParallelWrapper);
ШаблонParallelWrapper = ПолучитьСтрокуИзДвоичныхДанных(ШаблонParallelWrapper);
ШаблонParallelBatchWrapper = Новый ДвоичныеДанные(ПутьШаблонаParallelBatchWrapper);
ШаблонParallelBatchWrapper = ПолучитьСтрокуИзДвоичныхДанных(ШаблонParallelBatchWrapper);
СоздатьНачальнуюСтруктуруJenkins();
Для Каждого Язык Из Языки Цикл
@@ -231,8 +236,8 @@
ТекстВыполненияCLI = ПолучитьТекстВыполненияOs(ТаблицаТестов, СписокБиблиотек, Язык, "OPItc_", ПараллельныйРежим);
// 1C server IB: последовательно — параллельные сеансы упираются в лимит лицензий
ТекстВыполнения1С = ПолучитьТекстВыполнения1c(ТаблицаТестов, СписокБиблиотек, Язык, Ложь);
// CF file IB: параллельно через ibsrv + 1cv8c /WS
ТекстВыполнения1Сf = ПолучитьТекстВыполнения1c(ТаблицаТестов, СписокБиблиотек, Язык, ПараллельныйРежим);
// CF file IB: параллельно через ibsrv + 1cv8c /WS, пакетами по 10
ТекстВыполнения1Сf = ПолучитьТекстВыполнения1c(ТаблицаТестов, СписокБиблиотек, Язык, ПараллельныйРежим, 10);
ТекстПараметров = ПолучитьТекстПараметров(СписокБиблиотек);
ТекстJFCLI = СтрШаблон(ШаблонCliWindows, Язык, ТекстВыполненияCLI, КаталогOscript, Версия, ТекстПараметров);
@@ -347,7 +352,7 @@
КонецФункции
Функция ПолучитьТекстВыполнения1c(Знач ТаблицаТестов, Знач СписокБиблиотек, Знач Язык, Знач ПараллельныйРежим = Ложь)
Функция ПолучитьТекстВыполнения1c(Знач ТаблицаТестов, Знач СписокБиблиотек, Знач Язык, Знач ПараллельныйРежим = Ложь, Знач РазмерПакета = 0)
СтрокаРаздел = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("sectionsString", Язык);
СтрокаМетод = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("methodString", Язык);
@@ -398,11 +403,38 @@
КонецЦикла;
Возврат ОбъединитьШагиТестирования(ПоследовательныеШаги, ПараллельныеШаги, ПараллельныйРежим);
Возврат ОбъединитьШагиТестирования(ПоследовательныеШаги, ПараллельныеШаги, ПараллельныйРежим, РазмерПакета);
КонецФункции
Функция ОбъединитьШагиТестирования(Знач ПоследовательныеШаги, Знач ПараллельныеШаги, Знач ПараллельныйРежим)
Функция СформироватьПараллельныеПакеты(Знач ПараллельныеШаги, Знач РазмерПакета)
МассивПакетов = Новый Массив;
ТекущийПакет = Новый Массив;
НомерПакета = 0;
Для Каждого Шаг Из ПараллельныеШаги Цикл
ТекущийПакет.Добавить(Шаг);
Если ТекущийПакет.Количество() = РазмерПакета Тогда
НомерПакета = НомерПакета + 1;
МассивПакетов.Добавить(СтрШаблон(ШаблонParallelBatchWrapper, НомерПакета, СтрСоединить(ТекущийПакет, Символы.ПС)));
ТекущийПакет = Новый Массив;
КонецЕсли;
КонецЦикла;
Если ТекущийПакет.Количество() > 0 Тогда
НомерПакета = НомерПакета + 1;
МассивПакетов.Добавить(СтрШаблон(ШаблонParallelBatchWrapper, НомерПакета, СтрСоединить(ТекущийПакет, Символы.ПС)));
КонецЕсли;
Возврат СтрСоединить(МассивПакетов, Символы.ПС);
КонецФункции
Функция ОбъединитьШагиТестирования(Знач ПоследовательныеШаги, Знач ПараллельныеШаги, Знач ПараллельныйРежим, Знач РазмерПакета = 0)
Текст = СтрСоединить(ПоследовательныеШаги, Символы.ПС);
@@ -412,7 +444,13 @@
Текст = Текст + Символы.ПС;
КонецЕсли;
Текст = Текст + СтрШаблон(ШаблонParallelWrapper, СтрСоединить(ПараллельныеШаги, Символы.ПС));
Если РазмерПакета > 0 Тогда
ТекстПараллели = СформироватьПараллельныеПакеты(ПараллельныеШаги, РазмерПакета);
Иначе
ТекстПараллели = СтрШаблон(ШаблонParallelWrapper, СтрСоединить(ПараллельныеШаги, Символы.ПС));
КонецЕсли;
Текст = Текст + ТекстПараллели;
ИначеЕсли ПараллельныеШаги.Количество() > 0 Тогда
@@ -182,7 +182,7 @@ pipeline {
}
}
}
stage('Testing') {
stage('Testing-1') {
parallel {
stage('Testing-Telegram') {
when {
@@ -314,6 +314,11 @@ pipeline {
}
}
}
}
}
stage('Testing-2') {
parallel {
stage('Testing-MongoDB') {
when {
expression { return params['MongoDB'] }
@@ -444,6 +449,11 @@ pipeline {
}
}
}
}
}
stage('Testing-3') {
parallel {
stage('Testing-Dropbox') {
when {
expression { return params['Dropbox'] }
@@ -574,6 +584,11 @@ pipeline {
}
}
}
}
}
stage('Testing-4') {
parallel {
stage('Testing-GreenAPI') {
when {
expression { return params['GreenAPI'] }
@@ -704,6 +719,11 @@ pipeline {
}
}
}
}
}
stage('Testing-5') {
parallel {
stage('Testing-Janx') {
when {
expression { return params['Janx'] }
@@ -182,7 +182,7 @@ pipeline {
}
}
}
stage('Testing') {
stage('Testing-1') {
parallel {
stage('Testing-Telegram') {
when {
@@ -314,6 +314,11 @@ pipeline {
}
}
}
}
}
stage('Testing-2') {
parallel {
stage('Testing-MongoDB') {
when {
expression { return params['MongoDB'] }
@@ -444,6 +449,11 @@ pipeline {
}
}
}
}
}
stage('Testing-3') {
parallel {
stage('Testing-Dropbox') {
when {
expression { return params['Dropbox'] }
@@ -574,6 +584,11 @@ pipeline {
}
}
}
}
}
stage('Testing-4') {
parallel {
stage('Testing-GreenAPI') {
when {
expression { return params['GreenAPI'] }
@@ -704,6 +719,11 @@ pipeline {
}
}
}
}
}
stage('Testing-5') {
parallel {
stage('Testing-Janx') {
when {
expression { return params['Janx'] }
@@ -0,0 +1,5 @@
stage('Testing-%1') {
parallel {
%2
}
}