我是詹金斯的新手。我有一个小型节点.JS服务器,测试用例是用Mocha编写的(集成测试用例,而不是单元测试用例)。我正在尝试使用Jenkins创建一个CI管道。我的Jenkinsfile看起来如下:
#!/usr/bin/env groovy
pipeline {
agent {
docker {
image 'node'
args '-u root'
}
}
stages {
stage('Build') {
steps {
echo 'Installing Dependencies...'
sh 'npm install'
}
}
stage('Run') {
steps {
echo 'Starting application...'
sh 'npm start'
}
}
stage('Test') {
steps {
echo 'Testing...'
sh 'npm test'
}
}
}
}
在运行阶段,使用命令节点server.js启动服务器,一旦服务器启动,我希望在此服务器上执行测试用例。但是我注意到,Jenkins从未执行测试阶段,因为服务器仍然处于启动状态(这正是我想要的),并且不会退出它。如何启动服务器,并在此服务器上运行测试阶段?
发布于 2018-04-23 09:04:54
我已经解决了这一问题,通过创建独立的构建工作,然后将它们连接在一起。在运行阶段,我使用"cd“命令将目录更改为build文件夹,并启动服务器。在测试阶段,我也这样做,但是,在服务器上执行在运行阶段启动的测试用例。
感谢大家的投入。
发布于 2018-01-12 06:32:56
您应该在运行服务器之前运行这些测试。测试不应依赖于正在运行的服务器。测试应该要求任何所需的测试,然后您应该运行服务器。
https://stackoverflow.com/questions/48222100
复制相似问题