1
0
mirror of https://github.com/DoublesunRUS/devscripts.git synced 2026-06-16 00:57:56 +02:00

Интеграция / Развертывание

This commit is contained in:
Капралов Александр
2021-03-31 18:29:49 +03:00
parent bd72527bc9
commit 3f2a6aeccd
3 changed files with 56 additions and 36 deletions
+7 -8
View File
@@ -12,7 +12,7 @@ variables:
buildMR:
stage: build
tags:
- edt
- 1c-edt
only:
- merge_requests
script:
@@ -30,7 +30,7 @@ buildMR:
testCore:
stage: test
tags:
- edt
- 1c-edt
only:
- merge_requests
dependencies:
@@ -48,7 +48,7 @@ testCore:
testUI:
stage: test
tags:
- edt
- 1c-ui
only:
- merge_requests
dependencies:
@@ -62,15 +62,11 @@ testUI:
paths:
- test/
- ci/
- public/
environment:
name: allure
url: https://${CI_SERVER_HOST}/${CI_PROJECT_PATH}/-/jobs/${CI_JOB_ID}/artifacts/file/public/index.html
pages:
stage: report
tags:
- edt
- 1c-edt
only:
- merge_requests
dependencies:
@@ -81,3 +77,6 @@ pages:
paths:
- ci/
- public/
environment:
name: allure
url: https://${CI_SERVER_HOST}/${CI_PROJECT_PATH}/-/jobs/${CI_JOB_ID}/artifacts/file/public/index.html
+9 -10
View File
@@ -13,7 +13,7 @@ variables:
build:
stage: build
tags:
- edt
- 1c-edt
only:
- schedules
script:
@@ -31,7 +31,7 @@ build:
testCore:
stage: test
tags:
- edt
- 1c-edt
only:
- schedules
dependencies:
@@ -49,7 +49,7 @@ testCore:
testUI:
stage: test
tags:
- edt
- 1c-ui
only:
- schedules
dependencies:
@@ -63,15 +63,11 @@ testUI:
paths:
- test/
- ci/
- public/
environment:
name: allure
url: https://${CI_SERVER_HOST}/${CI_PROJECT_PATH}/-/jobs/${CI_JOB_ID}/artifacts/file/public/index.html
pages:
stage: report
tags:
- edt
- 1c-edt
only:
- schedules
dependencies:
@@ -82,11 +78,14 @@ pages:
paths:
- ci/
- public/
environment:
name: allure
url: https://${CI_SERVER_HOST}/${CI_PROJECT_PATH}/-/jobs/${CI_JOB_ID}/artifacts/file/public/index.html
release:
stage: release
tags:
- edt
- 1c-edt
only:
- schedules
dependencies:
@@ -94,4 +93,4 @@ release:
- testUI
- pages
script:
- executor_j11 -s $env:CI_SCRIPTS/1cicd.sbsl release
- executor_j11 -s $env:CI_SCRIPTS/1cicd.sbsl release
+40 -18
View File
@@ -1,7 +1,7 @@
#!/usr/bin/executor
/*******************************************************************************
* Copyright (c) 2020 Alexander Kapralov and Contributors
* Copyright (c) 2021 Alexander Kapralov and Contributors
* This program and the accompanying materials are made available under
* the terms of the BSD 3-Clause License which is available at
* https://spdx.org/licenses/BSD-3-Clause.html#licenseText
@@ -658,21 +658,24 @@
пер ДелатьЛогВыполненияСценариевВТекстовыйФайл: Булево = Ложь
пер ДелатьЛогОшибокВТекстовыйФайл: Булево = Ложь
пер ВыводитьЛогВКонсоль: Булево = Ложь
пер ВыводитьВЛогВыполнениеШагов: Булево = Истина
пер ПодробныйЛогВыполненияСценариев: Булево = Истина
пер ВыводитьВЛогВыполнениеШагов: Булево = Истина
пер ВыгружатьСтатусВыполненияСценариевВФайл: Булево = Истина
пер ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев: Строка = ""
пер СобиратьДанныеОСостоянииАктивнойФормыПриОшибке: Булево = Ложь
пер СобиратьДанныеОСостоянииВсехФормПриОшибке: Булево = Ложь
пер СобиратьДанныеОСетевыхСоединениях: Булево = Ложь
пер СобиратьДанныеОПроцессахОС: Булево = Ложь
пер ВыгружатьСтатусВыполненияСценариевВФайл: Булево = Истина
пер ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев: Строка = ""
пер ИспользоватьКомпонентуVanessaExt: Булево = Истина
пер ТихаяУстановкаVanessaExt: Булево = Ложь
пер ИспользоватьВнешнююКомпонентуДляСкриншотов: Булево = Истина
пер СпособСнятияСкриншотовВнешнейКомпонентой: Число = 2 // VAParamsСпособыСнятияСкриншотовВнешнейКомпонентой
пер СпособСнятияСкриншотовВнешнейКомпонентой: Число = 1 // VAParamsСпособыСнятияСкриншотовВнешнейКомпонентой
пер ДелатьСкриншотПриВозникновенииОшибки: Булево = Истина
пер СниматьСкриншотКаждогоОкна1С: Булево = Ложь
пер СниматьСкриншотКаждогоОкна1С: Булево = Истина
пер КаталогВыгрузкиСкриншотов: Строка = ""
пер ВыполнениеСценариев: VAParamsВыполнениеСценариев
@@ -827,13 +830,13 @@
Консоль.Записать("ExecuteDataProcessor: %имяОбработкиЗапретитьРаботуСВнешнимиРесурсами %путьИБ %исполняемыйФайлПлатформы %{настройкиАвтофич.ТестоваяБаза
.ИмяПользователя}")
ExecuteDataProcessor(имяОбработкиЗапретитьРаботуСВнешнимиРесурсами, "", путьИБ, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза
.ИмяПользователя)
.ИмяПользователя, "", 120с)
знч имяОбработкиОтключитьБезопасныйРежимРасширений = "%CI_EPFS/ОтключитьБезопасныйРежимРасширений.epf"
Консоль.Записать("ExecuteDataProcessor: %имяОбработкиОтключитьБезопасныйРежимРасширений %путьИБ %исполняемыйФайлПлатформы %{настройкиАвтофич.ТестоваяБаза
.ИмяПользователя}")
ExecuteDataProcessor(имяОбработкиОтключитьБезопасныйРежимРасширений, "", путьИБ, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза
.ИмяПользователя)
.ИмяПользователя, "", 120с)
Консоль.Записать("ExecuteCommand: %КОМАНДЫ_ОБНОВЛЕНИЯ_БД %путьИБ %исполняемыйФайлПлатформы %{настройкиАвтофич.ТестоваяБаза
.ИмяПользователя}")
@@ -845,7 +848,7 @@
Консоль.Записать("ExecuteDataProcessor: %имяФайлаVA %параметрыVA %путьИБ %исполняемыйФайлПлатформы %{настройкиАвтофич.ТестоваяБаза
.ИмяПользователя}")
ExecuteDataProcessor(имяФайлаVA, параметрыVA, путьИБ, исполняемыйФайлПлатформы, настройкиАвтофич.ТестоваяБаза
.ИмяПользователя)
.ИмяПользователя, "", 120с)
Консоль.Записать("СоздатьФичи: %{репозиторийСценарныхТестов.Имя}")
СоздатьФичи(настройкиАвтофич, репозиторийСценарныхТестов.Имя)
@@ -961,7 +964,7 @@
знч имяОбработкиЗапретитьРаботуСВнешнимиРесурсами = "%CI_EPFS/ЗапретитьРаботуСВнешнимиРесурсами.epf"
Консоль.Записать("ExecuteDataProcessor: %имяОбработкиЗапретитьРаботуСВнешнимиРесурсами %{временныйКаталогИБ.Путь} %исполняемыйФайлПлатформы %{настройки.ТестоваяБаза.ИмяПользователя}")
ExecuteDataProcessor(имяОбработкиЗапретитьРаботуСВнешнимиРесурсами, "", временныйКаталогИБ.Путь, исполняемыйФайлПлатформы, настройки.ТестоваяБаза.ИмяПользователя, настройки.ТестоваяБаза
.ПарольПользователя)
.ПарольПользователя, 120с)
знч каталогФич = "%каталогПроекта/features/%{пользователь.Представление}"
@@ -1033,8 +1036,6 @@
Файлы.Скопировать("%временныйКаталогИБ/junit/junit.xml", "%полныйПутьРезультатовТестов/junit/junit-%индекс.xml")
индекс += 1
;
AllureGenerate(настройки)
;
метод ExecuteDataProcessorTestManager(имяВнешнейОбработки: Строка, вспомогательныеПараметры: Строка, путьКИБ: Строка, имяФайлаПлатформы: Строка,
@@ -1172,8 +1173,25 @@
метод ОпубликоватьОтчет()
знч CI_JOB_ID = СредаИсполнения.ПолучитьПеременную("CI_JOB_ID")
знч 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")
знч настройки = ПрочитатьНастройкиСборки("%CI_PROJECT_DIR")
для репозиторийСценарныхТестов из настройки.СценарныеТесты
знч адресРепозиторияТестов = "https://gitlab-ci-token:%CI_JOB_TOKEN@%CI_SERVER_HOST/%CI_PROJECT_NAMESPACE/%{репозиторийСценарныхТестов
.Имя}.git"
Консоль.Записать("Git_Clone: %адресРепозиторияТестов %{репозиторийСценарныхТестов.Ветка}")
Git_Clone(адресРепозиторияТестов, репозиторийСценарныхТестов.Ветка)
знч настройкиАвтофич = ПрочитатьНастройкиАвтофич("%CI_PROJECT_DIR/%{репозиторийСценарныхТестов.Имя}/auto_features/AFParams.json")
AllureGenerate(настройкиАвтофич)
;
пер списокДвоичныхФайлов = новый Массив()
списокДвоичныхФайлов.Добавить("/public/index.html")
знч имяФайлаАссетов = "%ИМЯ_КАТАЛОГА_СЛУЖЕБНОЙ_СБОРКИ/assets_pages.json"
@@ -1845,7 +1863,7 @@
;
метод ExecuteDataProcessor(имяВнешнейОбработки: Строка, вспомогательныеПараметры: Строка, путьКИБ: Строка, имяФайлаПлатформы: Строка,
имяПользователя: Строка = "", пароль: Строка = "")
имяПользователя: Строка = "", пароль: Строка = "", таймаут: Длительность = 0с)
пер параметрыПроцесса = новый Массив()
параметрыПроцесса.Добавить("ENTERPRISE")
параметрыПроцесса.Добавить("/Execute")
@@ -1866,7 +1884,7 @@
параметрыПроцесса.Добавить(пароль)
;
ВыполнитьКомандуПлатформыСОжиданием(имяФайлаПлатформы + "c", параметрыПроцесса)
ВыполнитьКомандуПлатформыСОжиданием(имяФайлаПлатформы + "c", параметрыПроцесса, таймаут)
Консоль.Записать("Обработка выполнена.")
;
@@ -1878,7 +1896,7 @@
возврат "UTF-8"
;
метод ВыполнитьКомандуПлатформыСОжиданием(имяКоманды: Строка, параметры: Массив, выводитьОшибки: Булево = Истина)
метод ВыполнитьКомандуПлатформыСОжиданием(имяКоманды: Строка, параметры: Массив, таймаут: Длительность = 0с)
знч временныйФайлЛогов = Файлы.СоздатьВременныйФайл()
параметры.Добавить("/Out")
@@ -1889,7 +1907,14 @@
пер процесс = новый ПроцессОс(имяКоманды, параметры)
процесс.Запустить()
пер времяОжидания = 0с
пока не процесс.ОжидатьЗавершения(60с)
если таймаут != 0с и таймаут <= времяОжидания
знч текстОшибки = "При выполнении команды платформы превышено время ожидания выполнения %таймаут"
выбросить новый ИсключениеНедопустимоеСостояние(текстОшибки)
;
времяОжидания += 60с
;
знч кодВозврата = процесс.ПолучитьКодВозврата()
@@ -1899,9 +1924,6 @@
;
пер текстОшибки = "Код возврата: %кодВозврата"
если не выводитьОшибки
выбросить новый ИсключениеНедопустимоеСостояние(текстОшибки)
;
текстОшибки += Строки.Шаблон("\в\нКоманда: $0\в\нПараметры: $1", [имяКоманды, Строки.Соединить(параметры, " ")])