Мне нужно запустить базу данных, и после того, как она запустит приложение, все процессы должны запускаться в фоновом режиме, чтобы в конце концов можно было запускать тесты.
Мне нужно добавить некоторую функцию waitUntil, чтобы дождаться, пока база данных будет выполнение перед началом следующих шагов и некоторое подтверждение того, что каждый модуль работает правильно.
Каков наилучший подход для редактирования нижеприведенного конвейера для правильного запуска приложения и проверки его работоспособности?
stage (installed_node) {
dir ('./application/database/storage'){
def output = bat returnStatus: true, script: 'START /B startElasticsearch.bat'
// line with something like: if output.contains('[GREEN]') then continue
}
dir ('./') {
bat returnStatus: true, script: "START /B java -jar ${BUILD_FILE}"
// wait for specific output
}
dir('./application-ui'){
bat returnStatus: true, script: 'npm install'
def output = bat returnStatus: true, script: 'START /B npm start'
// This line has to work like:
// waitUntil.status(true): bat 'curl --head --request GET http://localhost:8000 | grep 200'
//or
//output.contains('App is running')
}