我有一个在Docker容器中运行的Jenkins实例,它也可以运行主机的docker命令。
我的应用程序的构建过程包括运行bower和grunt。但是为了避免必须在Jenkins容器上安装节点,我希望运行一个单独的节点容器来执行特定于节点的命令。
即。如果我在我的机器上本地运行它,这是有效的: docker run -it -v $(pwd):/ usr / src / app 3bdigital / bower-grunt-gulp bower install 我基本上将我的项目文件夹挂载到app文件夹,容器将在该文件夹中运行bower install。
不幸的是,如果我从Jenkins容器内部运行此命令,这似乎不起作用。 docker容器运行,但未正确安装卷。
有办法做到这一点吗?或者我是否必须在我的Jenkins图像中安装Node? p>
另一种解决方案是在应用程序本身的映像中安装节点,并让docker镜像执行必要的构建步骤。缺点是这个图像会比必要的大得多(生产中不需要node_modules,bower_components,source,...文件夹)