我正在Jenkins上尝试建立自定义环境以并行运行测试,首先我需要拥有数据库,并且对于每组测试都必须是独立的,所以我考虑使用多个具有Postgres DB的容器,然后使用脚本,但我面临2个主要问题:
第二个问题是我想将脚本运行到docker本身中,因此在容器启动后,我想在其中运行Initialize DB,并等待直到初始化完成后才运行测试
node {
stage('Clone Project') {
}
stage('Build Project') {
}
stage('Create Docker postgres DB') {
sh "docker run -p 54000:5432 --name db1 -d postgres:9.6"
sh "docker run -p 54001:5432 --name db2 -d postgres:9.6"
}
stage('Prepare DB for Tests') {
dir('database') {
parallel db1: {
sh "./reinitdb.sh test 54000"
}, db2 : {
sh "./reinitdb.sh test 54001 "
}
}
}
stage('Run Integration Tests') {
}
}