我在配置Jenkins以在dockerized应用程序上运行测试时遇到一些困难。
首先是我的设置:项目是在bitbucket上我有一个docker-compose运行我的应用程序,现在由3个三个conmtainers组成(一个用于mongo,一个用于redis,一个用于我的节点应用程序)
bitbucket的webhook效果很好,当我推动时会触发Jenkins。
但是,我想为构建做的是: 得到我的docker-compose的仓库,运行docker-compose以使我的集群运行,然后在repo中运行“npm test”(我的测试使用mocha),最后如果测试有Jenkins通知通过与否。
如果有人能帮助我让Jenkins应用这一系列操作,那就太棒了。
答案 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}
在终结器图像中运行命令。