如何通过声明性管道让Jenkins保持“活着”的步伐?

时间:2017-08-07 08:41:18

标签: jenkins jenkins-pipeline

我的用例如下:我有一个用Node编写的Web应用程序,我已经用Java和Selenium完成了一组功能测试。我使用新的声明性管道语法在Jenkins中配置了一个作业。

以下是Jenkinsfile的内容:

#!groovy

pipeline {
  agent any
  stages {
    stage('Test') {
      steps {
        nodejs(nodeJSInstallationName: 'node:8.2.0') {
          sh 'echo $PATH'
          sh 'npm -v'
          sh 'node -v'

          dir('src/webapp') {
            sh 'npm install'
            sh 'nohup npm start &> todomvc.out &'
          }

          sh './gradlew clean test'
        }
      }
    }
    stage('Clean up') {
      steps {
        deleteDir()
      }
    }
  }
}

正如您所看到的,首先我使用npm start启动webapp并将其发送到后台(为了继续下一步,即实际测试)。

然而,当测试运行时,webapp不可用,使它们失败。

我尝试过更换:

sh 'nohup npm start &> todomvc.out &'

使用:

npm start

当我进入端口时,我已经指定了webapp的实例。但是,这阻碍了接下来的步骤。

我想要的是启动一个webapp实例,然后使用./gradlew clean test对其进行测试。

0 个答案:

没有答案