ElasticSearch при запуске как пакетный файл завершается в конвейере Jenkins - PullRequest
0 голосов
/ 14 марта 2019

У меня есть конвейер 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 прекращается.Я думаю, что это потому, что сессия заканчивается, когда существует узел узла.Это приводит к сбою моих тестов.

Итак, мой вопрос,

  1. , как мне сохранить узел и его соединение с тестовым агентом в течение всего времени работы конвейера.Является ли reuseNode опцией?

https://jenkins.io/doc/book/pipeline/syntax/

Возможно использование отдельного задания сборки конвейера + waituntil.

Некоторые фрагменты кода здесь будут очень полезны

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...