diff --git a/GitLab-CI/1cicd.sbsl b/GitLab-CI/1cicd.sbsl index 34ca054..054c93b 100644 --- a/GitLab-CI/1cicd.sbsl +++ b/GitLab-CI/1cicd.sbsl @@ -1316,6 +1316,7 @@ знч CI_JOB_TOKEN = СредаИсполнения.ПолучитьПеременную("CI_JOB_TOKEN") знч CI_PROJECT_DIR = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_DIR") знч CI_PROJECT_NAMESPACE = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_NAMESPACE") + знч CI_PROJECT_PATH = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_PATH") знч CI_SERVER_HOST = СредаИсполнения.ПолучитьПеременную("CI_SERVER_HOST") знч запросНаСлияние = ПараметрыЗапросаНаСлияние() @@ -1332,7 +1333,12 @@ Консоль.Записать("Git_Clone: %адресРепозиторияТестов %имяВетки") Git_Clone(адресРепозиторияТестов, имяВетки) - знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json") + знч имяТекущегоПроекта = CI_PROJECT_PATH.Заменить("%CI_PROJECT_NAMESPACE/", "") + пер каталогПроектаАвтофич = "%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}" + если репозиторийСценарныхТестов.Имя == имяТекущегоПроекта + каталогПроектаАвтофич = "%CI_PROJECT_DIR" + ; + знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%каталогПроектаАвтофич/auto_features/AFParams.json") знч полныйПутьПрикладнойСборки = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_ПРИКЛАДНОЙ_СБОРКИ" знч полныйПутьТестовойСборки = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_ТЕСТОВОЙ_СБОРКИ" @@ -1414,8 +1420,8 @@ ExecuteCommand(КОМАНДЫ_ОБНОВЛЕНИЯ_БД, строкаСоединения, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза .ИмяПользователя) - Консоль.Записать("СоздатьФичи: %{репозиторийСценарныхТестов.Имя}") - СоздатьФичи(настройкиСкрипта, настройкиАвтофич, репозиторийСценарныхТестов.Имя) + Консоль.Записать("СоздатьФичи: %каталогПроектаАвтофич") + СоздатьФичи(настройкиСкрипта, настройкиАвтофич, каталогПроектаАвтофич) Консоль.Записать("Подготовить временные ИБ для тестирования: %{настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ} %путьИБОбщий") пер временныеИБПользователей = новый Соответствие() @@ -1435,8 +1441,9 @@ временныеИБПользователей.Вставить(пользователь.Представление, временнаяИБ) ; - Консоль.Записать("ЗапуститьСценарныеТесты: %{репозиторийСценарныхТестов.Имя} %{настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ} %путьИБОбщий") - ЗапуститьСценарныеТесты(настройкиСкрипта, настройкиАвтофич, исполняемыйФайлПлатформы, репозиторийСценарныхТестов.Имя, временныеИБПользователей) + знч каталогРезультатовТестов = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_РЕЗУЛЬТАТОВ_ТЕСТОВ" + Консоль.Записать("ЗапуститьСценарныеТесты: %каталогПроектаАвтофич %{настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ} %путьИБОбщий") + ЗапуститьСценарныеТесты(настройкиСкрипта, настройкиАвтофич, исполняемыйФайлПлатформы, каталогПроектаАвтофич, каталогРезультатовТестов, временныеИБПользователей) если настройкиАвтофич.ТестоваяБаза.ТипРасположенияИБ == ТипыРасположенияИБ.Серверная Консоль.Записать("Удалить временные серверные ИБ для тестирования") @@ -1537,29 +1544,21 @@ ; ; -метод СоздатьФичи(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, имяРепозитория: Строка) - знч CI_PROJECT_DIR = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_DIR") - - знч каталогПроекта = "%CI_PROJECT_DIR/%имяРепозитория" - - знч автофичи = СписокФайловАвтофич("%каталогПроекта/auto_features") +метод СоздатьФичи(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, каталогПроектаАвтофич: Строка) + знч автофичи = СписокФайловАвтофич("%каталогПроектаАвтофич/auto_features") если автофичи.Пусто() - выбросить новый ИсключениеНедопустимоеСостояние("Нет ни одного файла автофич по пути %каталогПроекта/auto_features") + выбросить новый ИсключениеНедопустимоеСостояние("Нет ни одного файла автофич по пути %каталогПроектаАвтофич/auto_features") ; СоздатьФайлыФичПоАвтофичам( - "%каталогПроекта/features", автофичи, + "%каталогПроектаАвтофич/features", автофичи, настройкиАвтофич.Шаблоны.Пользователи, "%{настройкиСкрипта.CI_VA}/templates", настройкиАвтофич.Шаблоны.ФайлШаблонаШапки) ; -метод ЗапуститьСценарныеТесты(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, исполняемыйФайлПлатформы: Строка, имяРепозитория: Строка, временныеИБПользователей: Соответствие) - знч CI_PROJECT_DIR = СредаИсполнения.ПолучитьПеременную("CI_PROJECT_DIR") +метод ЗапуститьСценарныеТесты(настройкиСкрипта: ОписаниеНастроекСкрипта, настройкиАвтофич: ОписаниеНастроекАвтофич, + исполняемыйФайлПлатформы: Строка, каталогПроектаАвтофич: Строка, каталогРезультатовТестов: Строка, временныеИБПользователей: Соответствие) - знч каталогПроекта = "%CI_PROJECT_DIR/%имяРепозитория" - - знч полныйПутьРезультатовТестов = "%CI_PROJECT_DIR/%ИМЯ_КАТАЛОГА_РЕЗУЛЬТАТОВ_ТЕСТОВ" - - знч каталогВыгрузкиAllure = "%полныйПутьРезультатовТестов/allure" + знч каталогВыгрузкиAllure = "%каталогРезультатовТестов/allure" знч максимальноеВремяОжидания = 300с @@ -1583,11 +1582,11 @@ ExecuteDataProcessor(имяФайлаVA, "%установкаВнешнейКомпонентыVA;ОтключитьЛогикуНачалаРаботыСистемы", временнаяИБ.строкаСоединения, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза .ИмяПользователя, "", максимальноеВремяОжидания) - знч каталогФич = "%каталогПроекта/features/%{пользователь.Представление}" + знч каталогФич = "%каталогПроектаАвтофич/features/%{пользователь.Представление}" знч конечныйПорт = начальныйПорт + диапазонПортов - 1 - пер настройкиVAParams = новый VAParams(каталогПроекта, каталогФич, ["%{настройкиСкрипта.CI_VA}/steps"]) + пер настройкиVAParams = новый VAParams(каталогПроектаАвтофич, каталогФич, ["%{настройкиСкрипта.CI_VA}/steps"]) знч настройкиVAParamsВыполнениеСценариев = новый VAParamsВыполнениеСценариев() настройкиVAParams.ВыполнениеСценариев = настройкиVAParamsВыполнениеСценариев @@ -1662,7 +1661,7 @@ для пользователь из настройкиАвтофич.Шаблоны.Пользователи пер временнаяИБ = временныеИБПользователей.Получить(пользователь.Представление) - Файлы.Скопировать("%{временнаяИБ.путьСлужебныхФайлов}/junit/junit.xml", "%полныйПутьРезультатовТестов/junit/junit-%индекс.xml") + Файлы.Скопировать("%{временнаяИБ.путьСлужебныхФайлов}/junit/junit.xml", "%каталогРезультатовТестов/junit/junit-%индекс.xml") индекс += 1 ; ; @@ -1862,8 +1861,14 @@ .Имя}.git" Консоль.Записать("Git_Clone: %адресРепозиторияТестов %имяВетки") Git_Clone(адресРепозиторияТестов, имяВетки) - - знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json") + + знч имяТекущегоПроекта = CI_PROJECT_PATH.Заменить("%CI_PROJECT_NAMESPACE/", "") + пер каталогПроектаАвтофич = "%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}" + если репозиторийСценарныхТестов.Имя == имяТекущегоПроекта + каталогПроектаАвтофич = "%CI_PROJECT_DIR" + ; + + знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%каталогПроектаАвтофич/auto_features/AFParams.json") AllureGenerate(настройкиАвтофич) ;