我调查过:Travis CI、Circle CI、Drone.io,但他们似乎都想从 github 中提取数据。但是,我已经从 github 获取了 dockerhub pull 并正确构建了 docker 映像。
我也看了一下Jenkins,好像有个插件可以从dockerhub拉出来,但是还没想好怎么用。我会继续这样做,但 Jenkins 的问题是我必须自己托管它。
我正在寻找可以从 docker hub 拉取的 CI 服务,在图像上运行测试,在 Web UI 中显示测试结果,还可以回调 docker hub 让它知道发生了什么,所以如果测试失败,dockerhub 将不会发出 webhook 来推送到生产。
任何人都知道像我描述的那样吗?非常感谢!
==更新== 我一直在继续研究所有 CI 选项。我注意到两个趋势:
- 用 Docker 替换他们旧的虚拟化解决方案。例如这里的 Travis CI 。例如,drone.io 使用 Docker 作为容器从头开始运行测试,如此处所述。但是,我认为他们不能再在其中运行另一层容器,您只需运行测试即可。而且我认为您也无法构建 docker 映像。
- 让他们的旧虚拟化解决方案支持 Docker CLI,然后您可以构建 docker 映像,将映像部署到注册表,甚至在 docker 容器内运行测试,例如CircleCI。
2 恕我直言对我来说比 1 好。如果 1&2 可以结合起来,那就太酷了。但是,这两种解决方案都从源代码开始,并希望进行“构建”。他们没有能力从 DockerHub 中提取数据。而且我不确定对 docker 容器内部测试的支持有多好。我还在试验。