将Maven和Ant添加到Jenkins Docker容器的正确方法是什么?
我下载了jenkins / jenkins:来自docker hub的映像,我在Ubuntu 16.04上运行起来。 该图像似乎不包括Ant或Maven,也可能想要针对不同版本的jdk进行构build。 我想知道什么是正确的方法来解决这个问题 – 我可以在容器上运行bash并运行apt-get或yum来安装我的构build所需的额外内容,或者有更好的方法吗?
Jenkins可以自动安装Maven和Ant。
首先,通过Manage jenkins > Manage Plugin > Available
安装Ant插件并安装Ant插件。
接下来去Manage jenkins > Global tool configuration
然后添加Maven和Ant。
一旦构build需要Maven或Ant,它们将被下载并安装。
直接在正在运行的容器中安装工具可能是一个坏主意,因为更改不会持久。 相反,我看到以下选项:
- 让jenkins像yamenk提出的那样pipe理你的工具
- 克隆jenkinscidocker仓库,并构build您自定义的jenkins镜像,包括您需要的构build工具
- 在Docker容器中运行构build作业
最近我成功地使用了选项3:
- 在Docker容器中运行构build作业(查看Jenkinspipe道插件,或者从shell步骤运行它)
- 每个构build容器都有一个单独的责任,并提供构build环境所需的所有工具
- 支持不同的工具和版本是无限的; 新技术可以立即添加
另一个(更棘手的)替代方法是使用Docker Containers作为工具。
我可以推荐以下两篇文章:
https://jenkins.io/blog/2016/08/08/docker-pipeline-environments/
https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/