mirror of
https://github.com/firstBitMarksistskaya/jenkins-lib.git
synced 2024-12-11 11:19:08 +02:00
Форматирование.
Убрал лишний перенос строки. Добавил функционал для скачивания по локальному пути.
This commit is contained in:
parent
9f81e09faa
commit
3d51a22f3c
49
README.md
49
README.md
@ -128,21 +128,6 @@ pipeline1C()
|
|||||||
* Если информационная база нужна для запуска в режиме "Предприятие" (например, для шагов `bdd` или `smoke`), то будет запущен шаг "Миграция ИБ".
|
* Если информационная база нужна для запуска в режиме "Предприятие" (например, для шагов `bdd` или `smoke`), то будет запущен шаг "Миграция ИБ".
|
||||||
* После загрузки конфигурации в ИБ будет выполняться запуск ИБ с целью запуска обработчиков обновления из БСП (`initInfobase` -> `runMigration`).
|
* После загрузки конфигурации в ИБ будет выполняться запуск ИБ с целью запуска обработчиков обновления из БСП (`initInfobase` -> `runMigration`).
|
||||||
* Если в настройках шага инициализации не заполнен массив дополнительных шагов миграции (`initInfobase` -> `additionalInitializationSteps`), но в каталоге `tools` присутствуют файлы с именами, удовлетворяющими шаблону `vrunner.init*.json`, то автоматически выполняется запуск `vrunner vanessa` с передачей найденных файлов в качестве значения настроек (параметр `--settings`) в порядке лексикографической сортировки имен файлов.
|
* Если в настройках шага инициализации не заполнен массив дополнительных шагов миграции (`initInfobase` -> `additionalInitializationSteps`), но в каталоге `tools` присутствуют файлы с именами, удовлетворяющими шаблону `vrunner.init*.json`, то автоматически выполняется запуск `vrunner vanessa` с передачей найденных файлов в качестве значения настроек (параметр `--settings`) в порядке лексикографической сортировки имен файлов.
|
||||||
* Загрузка расширений в информационную базу
|
|
||||||
* Если у вас есть расширения которые необходимо загрузить в базу для проведения тестов и проверок, это можно сделать на этапе подготовки базы.
|
|
||||||
* При загрузке из исходников расширения должны быть в том же формате(edt или конфигуратора) что и основная конфигурация.
|
|
||||||
* Для загрузки расширений необходимо описать каждое из них в массиве (`initInfobase` -> `extensions`)
|
|
||||||
* Для каждого из расширений необходимо указать:
|
|
||||||
* Имя (`extensions` -> `name`)
|
|
||||||
* Способ получения (`extensions` -> `initMethod`)
|
|
||||||
|
|
||||||
Сейчас поддерживаются 2 варианта:
|
|
||||||
* Из исходников(`fromSource`);
|
|
||||||
* Скачать cfe-файл из интернета (`fromInternet`)
|
|
||||||
* Путь до расширения (`extensions` -> `path`)
|
|
||||||
|
|
||||||
* В случае загрузки из исходников - необходимо указать путь к исходникам расширения
|
|
||||||
* В случае загрузки из интернета - Укажите url по которому будет скачан cfe(Прим.: https://github.com/bia-technologies/yaxunit/releases/download/23.05/YAXUNIT-23.05.cfe)
|
|
||||||
* BDD:
|
* BDD:
|
||||||
* Если в конфигурационном файле проекта не заполнена настройка `bdd` -> `vrunnerSteps`, то автоматически выполняется запуск `vrunner vanessa --settings tools/vrunner.json`.
|
* Если в конфигурационном файле проекта не заполнена настройка `bdd` -> `vrunnerSteps`, то автоматически выполняется запуск `vrunner vanessa --settings tools/vrunner.json`.
|
||||||
* Дымовые тесты:
|
* Дымовые тесты:
|
||||||
@ -180,3 +165,37 @@ pipeline1C()
|
|||||||
* Прямые получатели уведомлений не заполнены (`notifications` -> `email` -> `*options` -> `directRecipients`).
|
* Прямые получатели уведомлений не заполнены (`notifications` -> `email` -> `*options` -> `directRecipients`).
|
||||||
* Telegram:
|
* Telegram:
|
||||||
* Уведомления о результатах сборки по умолчанию рассылаются всегда (`notifications` -> `telegram` -> `onAlways`, `onFailure`, `onUnstable`, `onSuccess`).
|
* Уведомления о результатах сборки по умолчанию рассылаются всегда (`notifications` -> `telegram` -> `onAlways`, `onFailure`, `onUnstable`, `onSuccess`).
|
||||||
|
|
||||||
|
## Конфигурирование загрузки расширений
|
||||||
|
|
||||||
|
Если у вас есть расширения которые необходимо загрузить в базу для проведения тестов и проверок, это можно сделать на этапе подготовки базы.
|
||||||
|
* При загрузке из исходников расширения должны быть в том же формате(edt или конфигуратора) что и основная конфигурация.
|
||||||
|
* Для загрузки расширений необходимо описать каждое из них в массиве (`initInfobase` -> `extensions`)
|
||||||
|
|
||||||
|
Для загрузки расширений в информационную базу необходимо выполнить следующие шаги:
|
||||||
|
|
||||||
|
1. Укажите имя расширения(`extensions` -> `name`).
|
||||||
|
1. Определите метод загрузки для каждого расширения(`extensions` -> `initMethod`). Поддерживаются два метода загрузки:
|
||||||
|
- `fromSource` - загрузка из исходников;
|
||||||
|
- `fromFile` - загрузка cfe-файла.
|
||||||
|
1. Укажите путь до расширения или URL для скачивания cfe-файла(`extensions` -> `path`).
|
||||||
|
- В случае загрузки из исходников - необходимо указать путь к исходникам расширения
|
||||||
|
- В случае загрузки cfe - Укажите путь по которому будет скачан cfe. На данный момент можно указывать как локальный путь, так и url для скачивания cfe(Прим.: https://github.com/bia-technologies/yaxunit/releases/download/23.05/YAXUNIT-23.05.cfe)
|
||||||
|
|
||||||
|
Пример конфигурации для загрузки расширений:
|
||||||
|
```json
|
||||||
|
"initInfobase": {
|
||||||
|
"extensions": [
|
||||||
|
{
|
||||||
|
"name": "ИмяРасширения1",
|
||||||
|
"initMethod": "fromSource",
|
||||||
|
"path": "путь/до/исходников/расширения"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ИмяРасширения2",
|
||||||
|
"initMethod": "fromFile",
|
||||||
|
"path": "https://example.com/path/to/extension.cfe"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
@ -179,12 +179,12 @@
|
|||||||
},
|
},
|
||||||
"initMethod": {
|
"initMethod": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "\n Способ инициализации расширения.\n Поддерживается два варианта:\n * fromSource - инициализация расширения из исходников;\n * fromInternet - скачивание скомпилированного cfe по ссылке.",
|
"description": "\n Способ инициализации расширения.\n Поддерживается два варианта:\n * fromSource - инициализация расширения из исходников;\n * fromFile - использование скомпилированного cfe.",
|
||||||
"enum": ["fromSource", "fromInternet"]
|
"enum": ["fromSource", "fromFile"]
|
||||||
},
|
},
|
||||||
"path": {
|
"path": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Хранит в себе путь к расширению.\n * В случае если выбран initMethod <fromSource> - указывается путь к исходникам расширения.\n * В случае если выбран initMethod <fromInternet> - указывается ссылка на cfe-файл"
|
"description": "Хранит в себе путь к расширению.\n * В случае если выбран initMethod <fromSource> - указывается путь к исходникам расширения.\n * В случае если выбран initMethod <fromFile> - указывается путь к cfe-файлу"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ enum InitExtensionMethod {
|
|||||||
@JsonProperty("fromSource")
|
@JsonProperty("fromSource")
|
||||||
SOURCE,
|
SOURCE,
|
||||||
|
|
||||||
@JsonProperty("fromInternet")
|
@JsonProperty("fromFile")
|
||||||
INTERNET
|
FILE
|
||||||
|
|
||||||
}
|
}
|
@ -37,8 +37,7 @@ class GetExtensions implements Serializable {
|
|||||||
String sourceDirName = ""
|
String sourceDirName = ""
|
||||||
if (config.sourceFormat == SourceFormat.EDT) {
|
if (config.sourceFormat == SourceFormat.EDT) {
|
||||||
sourceDirName = "$env.WORKSPACE/$EdtToDesignerFormatTransformation.EXTENSION_DIR"
|
sourceDirName = "$env.WORKSPACE/$EdtToDesignerFormatTransformation.EXTENSION_DIR"
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
sourceDirName = "$env.WORKSPACE"
|
sourceDirName = "$env.WORKSPACE"
|
||||||
}
|
}
|
||||||
extractConvertedExtensions(sourceDirName, steps)
|
extractConvertedExtensions(sourceDirName, steps)
|
||||||
@ -48,9 +47,11 @@ class GetExtensions implements Serializable {
|
|||||||
Logger.println("Сборка расширения ${it.name} из исходников")
|
Logger.println("Сборка расширения ${it.name} из исходников")
|
||||||
String srcDir = getSrcDir(it, sourceDirName)
|
String srcDir = getSrcDir(it, sourceDirName)
|
||||||
buildExtension(it, srcDir, vrunnerPath, steps)
|
buildExtension(it, srcDir, vrunnerPath, steps)
|
||||||
} else {
|
} elseif (it.initMethod == InitExtensionMethod.FILE){
|
||||||
Logger.println("Загрузка расширения ${it.name} из интернета по ссылке ${it.path}")
|
Logger.println("Загрузка расширения ${it.name} из интернета по ссылке ${it.path}")
|
||||||
loadExtension(it, env)
|
loadExtension(it, env)
|
||||||
|
} else {
|
||||||
|
Logger.println("Неизвестный метод инициализации расширения ${it.name}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -70,7 +71,15 @@ class GetExtensions implements Serializable {
|
|||||||
private void loadExtension(Extension extension, def env) {
|
private void loadExtension(Extension extension, def env) {
|
||||||
String pathToExtension = "$env.WORKSPACE/${EXTENSIONS_OUT_DIR}/${extension.name}.cfe"
|
String pathToExtension = "$env.WORKSPACE/${EXTENSIONS_OUT_DIR}/${extension.name}.cfe"
|
||||||
FilePath localPathToExtension = FileUtils.getFilePath(pathToExtension)
|
FilePath localPathToExtension = FileUtils.getFilePath(pathToExtension)
|
||||||
localPathToExtension.copyFrom(new URL(extension.path))
|
|
||||||
|
if (extension.path.startsWith("http")) {
|
||||||
|
// If the path is a URL, download the file
|
||||||
|
localPathToExtension.copyFrom(new URL(extension.path))
|
||||||
|
} else {
|
||||||
|
// If the path is a local file, copy the file
|
||||||
|
FilePath localFilePath = FileUtils.getFilePath(extension.path)
|
||||||
|
localPathToExtension.copyFrom(localFilePath.toURI().toURL())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user