У меня есть конвейер Jenkins на сервере сборки Windows.Я хочу запустить поиск Elastic в виде пакетного файла (не как службы Windows) на моем узле агента тестирования, который должен работать в течение всего конвейера.Вот что у меня есть
pipeline {
agent none
stages {
stage('Preparing to start Elastic Search') {
agent { node { label 'master' } }
steps {
stash includes: 'elasticsearch*/**', name: 'ElasticSearchStash'
stash includes: 'Scripts/**', name: 'ScriptStash'
}
}
stage('Start Elastic Search') {
agent {node {label 'ElasticSearch'} }
steps {
dir('ElasticSearchLauncher') {
unstash name: 'ElasticSearchStash'
unstash name: 'ScriptStash'
bat "cmd /C ${scripts_dir}\\StartElasticSearch.bat PID.txt"
sleep 120
}
}
}
stage('Run Tests using Elastic Search') {
steps {
// here i rely on the Elastic Search service to be running on the test agent
}
}
}
}
Я замечаю, что после завершения этапа «Начать эластичный поиск» пакетный процесс поиска Elastic Search прекращается.Я думаю, что это потому, что сессия заканчивается, когда существует узел узла.Это приводит к сбою моих тестов.
Итак, мой вопрос,
- , как мне сохранить узел и его соединение с тестовым агентом в течение всего времени работы конвейера.Является ли reuseNode опцией?
https://jenkins.io/doc/book/pipeline/syntax/
Возможно использование отдельного задания сборки конвейера + waituntil.
Некоторые фрагменты кода здесь будут очень полезны
Спасибо