Многократный Докер в скриптовом Jenkinsfile - PullRequest
0 голосов
/ 18 мая 2018

У меня проблема.Мне нужен файл Дженкинса для моих Дженкинс.Чтобы протестировать наш пакет, нам нужны solr и сервер mysql.Итак, суть в том, что я хочу включить это в системы, с докером в сценарии конвейера.

В документации есть опция, при которой второй docker.image работает в коляске.И первое - это обеспечение исполнения условий.Проблема в том, что solr или mysql для выполнения не имеют PHP или Ant.Поэтому я хочу использовать хост-систему в качестве среды выполнения и два докера в качестве основы для моей тестовой среды.

У кого-нибудь была идея, как мне это получить?

https://jenkins.io/doc/book/pipeline/docker/#using-multiple-containers Это ссылка на документацию для этого от jenkins, но я не нахожу подсказки для моей проблемы.

1 Ответ

0 голосов
/ 19 мая 2018

Jenkins не поддерживает сборки из нескольких контейнеров из коробки.Вы можете выделить только один контейнер для вашей работы или один для каждого этапа.В вашем случае вы захотите запустить 3 контейнера одновременно - один с solr, один с mysql и один с php, где вы будете запускать свои тесты PHPUnit.На данный момент это не поддерживается.

Обходные пути:

  1. Вы можете настроить кластер kubernetes и динамически подготовить агентов с помощью шаблона pod, который вы настроили в настройках Jenkins.Затем, присвоив узлу метку шаблона, которую вы определили, вы можете достичь желаемого.

  2. Поиграйте с docker-compose и вручную запустите ваши контейнеры оттуда.Убедитесь, что у вас есть этап post { always {} }, который уничтожает созданные контейнеры после завершения сборки.

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