1

我有一个使用 travis 的 CI 项目。

我的代码使用 kafka 作为消息队列。由于我一次运行多个 travis 构建,因此我正在考虑仅在每个 travis VM 内运行一个本地 kafka 实例以完成该工作。

实现这一目标的最佳方法是什么。

4

1 回答 1

1

所以我们测试了两种方法,

  1. 在 travis build 中使用 kafka docker

在这种方法中,我们配置了一个包含 kafka 和 zookeepr 的 docker 镜像并运行。由于 travis 对 docker 有很好的支持,这很简单。

  1. 安装 kafka munally 并在 travis build 运行之前启动它。

在这里,我们使用 travis "before_install" 步骤从镜像站点之一下载 kakfa 二进制文件,然后解压缩并使用托管在测试包中的自定义属性文件启动 kafka。

第二种方法更合适,除非您拥有带有自己的 docker 映像的 docker 存储库。

于 2018-04-12T15:49:36.143 回答