在Jenkins中测试Docker集群

时间:2016-07-14 09:55:14

标签: jenkins docker continuous-integration

我在配置Jenkins以在dockerized应用程序上运行测试时遇到一些困难。

首先是我的设置:项目是在bitbucket上我有一个docker-compose运行我的应用程序,现在由3个三个conmtainers组成(一个用于mongo,一个用于redis,一个用于我的节点应用程序)

bitbucket的webhook效果很好,当我推动时会触发Jenkins。

但是,我想为构建做的是: 得到我的docker-compose的仓库,运行docker-compose以使我的集群运行,然后在repo中运行“npm test”(我的测试使用mocha),最后如果测试有Jenkins通知通过与否。

如果有人能帮助我让Jenkins应用这一系列操作,那就太棒了。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用jenkins管道插件或shell脚本。

要构建docker镜像并运行compose,可以使用docker-compose命令。重要的是你需要从组合级别重建docker图像(因为如果你运行docker-compose run,只有jenkins可以使用之前的bilded图像)。因此,您需要先运行docker-compose build

您的dockerfile应该复制应用程序的所有文件。

接下来,当您的服务准备就绪时,您可以使用:docker exec {CONTAINER_ID} {COMMAND_TO_RUN_TESTS}在终结器图像中运行命令。