实用 Jenkins Docker 镜像
Jenkins 跟 GKE 的 Load Balancer 不兼容怎么办?当然是选择原谅他啊。
最近在玩 Google 的 Container Engine,发现 Jenkins 的安装过程的安全防护跟 GKE 的负载均衡器有点不和谐。要在启动初始化过程之前,完成对 CSRF 特性的调整。弄着弄着就收不住了,所以就有了对我那个 “要你命3000” Jenkins 镜像的一次大升级。
主要功能
- 分为 Alpine 和 Ubuntu 两个基础版本。
- 内嵌多种 CI/CD 相关工具,例如 git、robotframework with selinium、mvn、nodejs 等。
- 可越过初始化过程,直接指定既有的 config.xml。
- 可定制的初始化 Groovy 脚本。
- 可直接设置一号用户的用户 ID 和密码。
更重要的功能
这一版加入了一个神奇的脚本:install-plugins.sh
,这一脚本能够自动安装指定插件极其依赖,配合上面的自定义 Groovy 脚本和 config.xml 功能。就方便的打造符合个人口味的、开箱即用的 Jenkins 镜像了,例如加入 git 支持,只需 install-plugins.sh git
即可。下面的 Dockerfile 会建立一个带有 docker-build-step 和 git 支持的,用户名密码分别为 ‘admin’ 和 ‘password’ 的镜像:
FROM dustise/jenkins
RUN install-plugins.sh git
RUN install-plugins.sh docker-build-step
ENV ADMIN_USER="admin"
ENV ADMIN_PASSWORD="password"
Github 项目地址或者用下面的命令直接运行:
docker run -it -p 3001:8080 --rm
-e ADMIN_PASSWORD="MY_PaSS_W0rd"
-e ADMIN_USER="administrator"
--name=jenkins
dustise/jenkins:latest