Jenkins Pipeline: запустите npm, запустите в фоновом режиме и продолжайте работу по заданному журналу - PullRequest
0 голосов
/ 13 января 2020

Мне нужно запустить базу данных, и после того, как она запустит приложение, все процессы должны запускаться в фоновом режиме, чтобы в конце концов можно было запускать тесты.

Мне нужно добавить некоторую функцию 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')

}
...