Запуск параллельного Docker Container с помощью Jenkins и запуск скрипта в эти контейнеры - PullRequest
0 голосов
/ 16 ноября 2018

Я работаю над тем, чтобы Дженкинс пытался создать собственную среду для параллельного запуска тестов. Мне нужно иметь БД, и она должна быть отдельной для каждой группы тестов, поэтому я думаю об использовании нескольких контейнеров, каждый из которых имеет БД 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') {
    
    }
    

    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...