Запуск нескольких колясок в Дженкинс с докером - PullRequest
0 голосов
/ 04 июня 2018

Я использую MySQL коляску, как показано ниже:

docker.image("mysql:5.6").withRun("-e MYSQL_ALLOW_EMPTY_PASSWORD=yes -e", '--lower_case_table_names=1') { c ->
  docker.image("mysql:5.6").inside("--link ${c.id}:mysql") {

    /* Wait until MySQL service is up */
    sh "while ! mysqladmin ping -u root -h mysql -p ; do sleep 1; done"
    sh "mysql -u root -h mysql -p --batch -e 'show databases;'"
  }
  dockerRunArgs.add("--link ${c.id}:mysql")

  docker.build(image, dockerBuildArgs.join(' ')).inside(dockerRunArgs.join(' ')) {

    // the actual building, archiving, deployment, etc, stages go here
      withCredentials([string(credentialsId: 'CREDENTIALID', variable: 'VARIABLE')]) {
        stage('Build') {
          sh 'chmod 777 ./build.sh'
          sh "./build.sh"
        }
        stage('DB migrations checkout ') {
          checkout([
            $class: 'GitSCM',
            branches: [[name: 'develop']],
            userRemoteConfigs: [[
              credentialsId: 'TOKEN',
              url: 'mygithuburl.git'
            ]]
          ])

          sh 'composer install --prefer-dist --no-interaction --no-dev --no-progress'
          sh 'php artisan migrate:refresh --seed'
        }

      }
  } 
}

Это показано в документации Jenkins.Теперь мне нужно запустить некоторые другие сервисы, такие как Redis, Elasticsearch, Memcached and Beanstalkd.Так, где мне нужно добавить эти образы докеров?

Теперь я строю образ докеров внутри образа докеров MySQL.Можно ли запустить каждую из контейнеровозов за один этап, а затем выполнить миграцию и запустить тесты на следующем этапе?

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