Как настроить travis-ci для запуска экземпляра apache kafka локально внутри сборки
У меня есть проект CI, использующий Трэвиса.
Мой код использует Кафку в качестве очереди сообщений. Поскольку я запускаю несколько сборок travis одновременно, я рассматриваю возможность запуска локального экземпляра kafka внутри каждой виртуальной машины travis только для этой работы.
Каков наилучший способ достичь этого.
1 ответ
Итак, мы проверили два подхода,
- Используйте док-станцию Кафки внутри сборки travis
В этом подходе мы настроили и запустили образ докера, в котором есть kafka и zookeepr. Так как Трэвис имеет хорошую поддержку докера, это просто.
- Установите kafka munally и запустите его до запуска travis build.
Здесь мы использовали шаг travis "before_install", чтобы загрузить двоичный файл kakfa с одного из зеркальных сайтов, затем распаковать его и запустить kafka с файлом пользовательских свойств, размещенным в тестовых пакетах.
Второй подход был бы более подходящим, если у вас нет хранилища докеров с вашим собственным образом докера.