You've already forked devscripts
mirror of
https://github.com/DoublesunRUS/devscripts.git
synced 2026-06-16 00:57:56 +02:00
Интеграция / Развертывание
This commit is contained in:
@@ -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
|
||||
@@ -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
@@ -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", [имяКоманды, Строки.Соединить(параметры, " ")])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user