Я работаю над тем, чтобы Дженкинс пытался создать собственную среду для параллельного запуска тестов. Мне нужно иметь БД, и она должна быть отдельной для каждой группы тестов, поэтому я думаю об использовании нескольких контейнеров, каждый из которых имеет БД Postgres, а затем инициализирую его с помощьюсценарий, но я сталкиваюсь с 2 основными проблемами:
- При попытке запустить несколько Docker экземпляра Docker просто сбой в последнем с MSG, что он не может получить доступ к контейнеру, но на локальной машине я могу получить к нему доступ "Чтобы преодолеть это, я останавливаюсь параллельно, и это работает нормально, если 4 последовательных контейнера докеров "есть решение для этого?
Вторая проблема заключается в том, что я хочу запустить скрипт в самом докере такпосле запуска контейнера я хочу запустить в нем инициализацию БД и дождаться, пока не будут запущены тесты, пока не завершится инициализация
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') {
}
}