Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
jenkins:pipelines [2024/12/05 11:52] admin |
jenkins:pipelines [2025/01/19 15:53] (текущий) admin |
||
---|---|---|---|
Строка 338: | Строка 338: | ||
- | ===== Примеры ===== | + | ===== Сохранение артефактов |
+ | < | ||
+ | < | ||
+ | Сохраняет указанные файлы для дальнейшего использования в пайплайне, | ||
+ | Сохраняет в виде TAR архива, | ||
+ | По умолчанию чистится после каждой сборки, | ||
+ | Можно добавить исключения на добавляемые файлы. Сохраняет указанные файлы в текущем рабочем каталоге, | ||
+ | <code groovy> | ||
+ | stage(" | ||
+ | agent { slave1 } | ||
+ | steps { | ||
+ | (...) | ||
+ | stash includes: ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | stage(" | ||
+ | agent { master } | ||
+ | steps { | ||
+ | cleanWs() | ||
+ | unstash name: DYNAMIC_SLAVE | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Указывать нужно с маской, | ||
+ | <code groovy> | ||
+ | stage(" | ||
+ | steps { | ||
+ | script { | ||
+ | sh """ | ||
+ | mkdir my_dir | ||
+ | touch my_dir/ | ||
+ | touch my_dir/ | ||
+ | touch my_dir/ | ||
+ | ls -l | ||
+ | """ | ||
+ | stash includes: " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | stage(" | ||
+ | steps { | ||
+ | script { | ||
+ | cleanWs() | ||
+ | sh "ls -l" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | stage(" | ||
+ | steps { | ||
+ | script { | ||
+ | unstash name: " | ||
+ | sh "ls -l my_dir" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | Архивирует артефакты сборки, | ||
+ | По умолчанию Maven автоматически архивирует произведенные артефакты. Указанные здесь артефакты будут архивированы поверх\\ | ||
+ | Файлы указываются так же маской\\ | ||
+ | |||
+ | <code groovy> | ||
+ | archiveArtifacts artifacts: ' | ||
+ | archiveArtifacts artifacts: ' | ||
+ | archiveArtifacts artifacts: ' | ||
+ | |||
+ | # Из примера выше | ||
+ | archiveArtifacts artifacts: ' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Примеры ===== | ||
< | < | ||
< | < | ||
Строка 882: | Строка 964: | ||
stage(" | stage(" | ||
when { | when { | ||
- | expression { | + | expression { params.MY_VAR |
- | | + | expression { params.MY_VAR2 |
- | MY_VAR == "123" | + | |
- | params.MY_PARAM == " | + | expression { params.MY_PARAM == " |
- | | + | |
} | } | ||
steps { | steps { | ||
Строка 895: | Строка 976: | ||
} | } | ||
} | } | ||
- | | ||
- | stage(" | ||
- | when { | ||
- | expression { | ||
- | params.MY_VAR; | ||
- | MY_VAR == " | ||
- | params.MY_PARAM == " | ||
- | } | ||
- | } | ||
- | steps { | ||
- | script { | ||
- | sh "echo 'this is second stage'" | ||
- | } | ||
- | } | ||
- | } | ||
- | |||
} | } | ||
} | } | ||
- | |||
</ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <code groovy> | ||
+ | // Создание файла | ||
+ | configFileProvider([configFile(fileId: | ||
+ | script { | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Данные в переменной | ||
+ | configFileProvider([configFile(fileId: | ||
+ | script { | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
</ | </ | ||
Строка 921: | Строка 1004: | ||
< | < | ||
- | < | + | < |
<code groovy> | <code groovy> | ||
+ | writeFile file: " | ||
+ | text: ${var1} | ||
+ | test: ${var2} | ||
+ | """ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Запись результатов/ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | Запись резов текстом, | ||
+ | Можно применять html\\ | ||
+ | <code bash> | ||
+ | currentBuild.description = " | ||
+ | </ | ||
+ | |||
+ | Артефакты файлами\\ | ||
+ | <code bash> | ||
+ | archiveArtifacts artifacts: ' | ||
+ | </ | ||
+ | |||
+ | |||
+ | Публикация полноценного отчета, | ||
+ | <code bash> | ||
+ | publishHTML (target : [allowMissing: | ||
+ | keepAll: true, reportDir: '', | ||
+ | reportName: 'My Reports', | ||
</ | </ | ||
</ | </ | ||
Строка 984: | Строка 1097: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Прерывание | ||
+ | |||
+ | |||
+ | |||
+ | if (!params.MY_VAR.contains(" | ||
+ | currentBuild.result = ' | ||
+ | error(" | ||
+ | } | ||
+ | |||
+ | |||