Как добавить коляску MySQL в декларативный конвейер Jenkins? - PullRequest
0 голосов
/ 16 мая 2018

Я настраиваю систему сборки PHP и мне нужно запустить локальный экземпляр MySQL для выполнения тестов. В настоящее время я использую декларативный синтаксис конвейера и использую Docker. Можно ли запустить MySQL в качестве сопутствующего модуля в декларативном синтаксисе?

Если нет другого способа запустить агент MySQL вместе с настраиваемым образом докера и выполнить миграцию?

1 Ответ

0 голосов
/ 05 августа 2018

В настоящее время нет поддержки контейнеров с коляской в ​​декларативных конвейерах Jenkins .

MySQL запускается как контейнер с коляской с использованием скриптового конвейера , как показано в документации Jenkins :

node {
    checkout scm
    docker.image('mysql:5').withRun('-e "MYSQL_ROOT_PASSWORD=my-secret-pw"') { c ->
        docker.image('mysql:5').inside("--link ${c.id}:db") {
          /* Wait until mysql service is up */
          sh 'while ! mysqladmin ping -hdb --silent; do sleep 1; done'
        }
        docker.image('centos:7').inside("--link ${c.id}:db") {
          /*
           * Run some tests which require MySQL, and assume that it is
           * available on the host name `db`
           */
          sh 'make check'
        }
  }
}

Вы можете выполнять фрагменты сценариев конвейера в декларативном конвейере, используя тег <script>: https://jenkins.io/doc/book/pipeline/syntax/#script

...