在Jenkinsfile测试阶段,连接mongoDB时遇到问题。基本映像是dockerhub的mongo -image。
我的单元测试首先尝试使用以下方法连接到mongoDB:
ProductAdapter adapter = new ProductAdapter(this, productList);
但失败:
MongoNetworkError:无法连接到服务器[localhost:27017] 首先连接[MongoNetworkError:连接ECONNREFUSED 127.0.0.1:27017]
我也尝试过mongoose.connect(mongodb://localhost:27017/datastore_test, options);
,但没有成功。
在使用docker的CI管道期间,有一些技巧或警告如何连接到数据库吗?
这是我的Jenkinsfile的样子:
'mongodb://mongo:27017/datastore_test'
编辑:输出pipeline {
agent {
docker {
image 'myusername/mongonode:latest'
args '-p 3000:3000'
}
}
environment {
CI = 'true'
}
stages {
stage('Build') {
steps {
sh 'npm install'
}
}
stage('Test') {
steps {
sh 'npm test'
}
}
stage('Deliver') {
steps {
sh './jenkins/scripts/deliver.sh'
input message: 'Finished using the web site? (Click "Proceed" to continue)'
sh './jenkins/scripts/kill.sh'
}
}
}
}
docker inspect 8ad397858ecd | grep IP