Skip to content

Commit

Permalink
feat: добавлено динамическое составление stages при генерации (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
Karlo Ivan committed May 22, 2024
1 parent e9fbb4d commit 1a4bc51
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 12 deletions.
2 changes: 2 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ stages:
- test
- report
- release
# TODO добавить шаг deploy с установкой на nsh-gitrunner

install-oscript:
stage: .pre
Expand All @@ -21,6 +22,7 @@ install-oscript:
- tools\scripts\install-oscript-local.bat
timeout: 10m

# TODO почему два раза запускать приходиться?
install-package-dependencies:
stage: .pre
when: manual
Expand Down
15 changes: 9 additions & 6 deletions src/Классы/КомандаGenerateConfig.os
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

#Использовать fs
#Использовать strings

#Область ОписаниеПеременных

Expand Down Expand Up @@ -45,7 +46,7 @@
Pipeline = Pipeline + ТекстЭтапа(КаталогШаблонов, "coverage.yml");
Pipeline = Pipeline + ТекстЭтапа(КаталогШаблонов, "allure.yml");

// СоставитьПланРазвертывания(Pipeline, КаталогШаблонов);
СоставитьПланРазвертывания(Pipeline, КаталогШаблонов);

Pipeline = Pipeline + ТекстЭтапа(КаталогШаблонов, "pages.yml");
Pipeline = Pipeline + ТекстЭтапа(КаталогШаблонов, "changelog.yml");
Expand Down Expand Up @@ -96,15 +97,17 @@
//
Процедура СоставитьПланРазвертывания(Pipeline, КаталогШаблонов)

ШаблонЭтапа = ТекстЭтапа(КаталогШаблонов, "deployment.yml");

ТекущийКаталог = ПараметрыПриложения.ТекущийКаталог();
НайденныеСредыОкружения = НайтиФайлы(ТекущийКаталог, "env.*.json", Ложь);
Для Каждого СредаОкружения Из НайденныеСредыОкружения Цикл

ШаблонЭтапа = ТекстЭтапа(КаталогШаблонов, "deployment.yml");
НаименованиеЭтапа = "deploy." + СредаОкружения.ИмяБезРасширения;
ГотовыйТекстЭтапа = СтрЗаменить(ШаблонЭтапа, "$deploy", НаименованиеЭтапа);
Pipeline = Pipeline + ГотовыйТекстЭтапа;
Структура = Новый Структура;
Структура.Вставить("job" , СтрЗаменить(СредаОкружения.ИмяБезРасширения, "env.", ""));
Структура.Вставить("stage", СтрШаблон("deploy.%1", СредаОкружения.Имя));

Pipeline = Pipeline + СтроковыеФункции.ВставитьПараметрыВСтроку(ШаблонЭтапа, Структура);

КонецЦикла;

Expand Down
1 change: 1 addition & 0 deletions tests/Тесты.os
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
ВсеТесты = Новый Массив;
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСоздаетсяФайлИнициализации");
ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСоздаетсяФайлГенерации");
// TODO, что в именах job отсутствуют запрещенные символы (изучи доку, возможно скобки запрещены, точки разрешены)

Возврат ВсеТесты;

Expand Down
16 changes: 10 additions & 6 deletions tools/CI/templates/deployment.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

Блокировка сеансов ($deploy):
1. Блокировка сеансов [job]:
except:
- schedules
stage: $deploy
stage: [stage]
variables:
GIT_STRATEGY: none
only:
Expand All @@ -14,10 +14,10 @@
- vci run session-lock
- vci run session-kill

Обновление ИБ ($deploy):
2. Обновление ИБ [job]:
except:
- schedules
stage: $deploy
stage: [stage]
variables:
GIT_STRATEGY: none
only:
Expand All @@ -28,11 +28,13 @@
script:
- vci run loadrepo
- vci run updatedb
needs:
- job: 1. Блокировка сеансов [job]

Run ($deploy):
3. Запуск ИБ [job]:
except:
- schedules
stage: $deploy
stage: [stage]
variables:
GIT_STRATEGY: none
only:
Expand All @@ -43,3 +45,5 @@ Run ($deploy):
script:
- vci run launch-IB-update
- vci run session-unlock
needs:
- job: 2. Обновление ИБ [job]

0 comments on commit 1a4bc51

Please sign in to comment.