2015-07-31 3 views
5

Я планирую создать тестовую среду с использованием несложных, дженкинсов и докеров. План таков.Использование Ansible, Jenkins и docker для создания быстрых тестовых сред

Создайте обучающие книги для всех инструментов, которые вы используете в своей среде, и храните их на git. Использование jenkins создает задание для создания контейнеров-докеров на сервере-разработчике и использует доступные загружаемые книги для подготовки контейнеров-докеров. Работы Jenkins будут созданы таким образом, чтобы у пользователя была возможность выбрать игровые автоматы, которые они хотят использовать с контейнерами-докерерами, и контейнеры будут построены соответствующим образом.

вся концепция можно свести к итогу, как показано ниже.

Devops

Преимущества я вижу, являются

Автоматическая репликация точных производственных сред.
Масштабируйте тестовую среду согласно требованиям.
Предоставьте различные платформы для тестирования приложений на одном сервере.
Более быстрая интеграция.
Продвигайте гибкую методологию.
Свобода разработки и настройки тестовой среды.
Разработчики и тестеры могут создавать среды самостоятельно, даже если они ничего не знают о OS, конфигурации.
Проверьте развертывание приложения в чистой среде, новой сборке.

Был ли кто-либо реализован такой тип архитектуры окружения, я хотел бы обсудить практические преимущества этого же.

+0

как прошло? были ли вы успешными? Пожалуйста, поделитесь своим опытом. –

ответ

3

Я использую аналогичный, но другой подход:

  • Определение Dockerfiles или повар/кукольный/анзибль/соль инициализации. Как и в вашем подходе.

  • Ввод этих описаний под контроль версий. Как и в вашем подходе.

  • Использование Jenkins A в CI- и Nightly Building Images и загрузка их в реестр. Для управления различными версиями и хранения старых изображений. Это вводит реестр изображений на диаграмме.

  • Расширение этих изображений с помощью раскольников Дженкинс-Рой. Это позволяет развертывание ad-hoc в среде Jenkins.

Здесь я отделяюсь между построением программного обеспечения и зданием самих работорговцев.

  • Развертывание Jenkins B для создания программного обеспечения в средах.

  • Теперь я выбираю между контейнером, который я хочу развернуть навсегда, и создавать контейнеры, которые я хочу развернуть по требованию.

    • Постоянные контейнеры, которые в значительной степени используются строительными работами, начинаются как рабыни и ежедневно обмениваются ночными сборками.
    • Контейнеры ad-hoc находятся под управлением Jenkins-Docker-Plugin.
    • Для более сложных конфигураций среды я использую docker-compose для управления доступностью ad-hoc.
    • Для специальных сред, а именно виртуальных машин для запуска этих конфигураций, я использую док-рой.

Диаграмма: enter image description here

+0

спасибо, что поделились своим пользователем. Кажется, это приятно, и я также проверю то же самое. – thinkingmonster

+0

Не могли бы вы поместить диаграмму как @thinkmonster :)? – Tuan

+0

Надеюсь, это станет более ясным. – blacklabelops

0

Если вы хотите проверить с Docker изображение, которое имеет самую последнюю доступную версию данного пакета на данной ОС, то вам нужно настроить каждую ночь докер изображение перестраивает , У меня есть очень маленький, простой проект, который может заставить вас работать с ночным восстановлением изображений докеров на https://github.com/zbeekman/nightly-docker-rebuild. Я использую это для восстановления соединительной линии GCC из исходного кода, но вы можете так же легко использовать его для установки/обновления пакетов из диспетчера пакетов, либо иметь дело с любой другой зависимостью сборки/времени выполнения, которая может быть обновлена ​​вверх и может потенциально повлиять на ваш проект , Таким образом, вы можете поймать проблемы раньше, прежде чем клиенты/пользователи столкнутся с ними.

Смежные вопросы