参考《openshift/origin学习记录(7)——集成Jenkins服务》,集成jenkins(博客里记录的是非持久化的jenkins,选用jenkins-persistent-template模板,创建了持久化的jenkins)。
关于PV和PVC可以参考《openshift/origin工作记录(7)——持久化openshift内部镜像仓库》。
由于采用docker的形式运行jenkins,面临的问题有在jenkins容器里调用docker打包镜像、调用maven构建war包。
这里的初步解决方案记录如下(核心思路是采用volume挂载):
OPENSHIFT_ENABLE_OAUTH:false。设置不采用openshift的登录认证。
JENKINS_PASSWORD:test。设置admin的初始密码为test。
PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/maven/bin。设置maven的环境变量。
JAVA_HOME:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64。设置java_home。
其中
docker挂载相关的包括:
挂载主机目录/usr/bin/docker、/var/run/docker.sock、/etc/sysconfig/docker、/usr/bin/docker-current。
maven挂载相关的包括:
挂载主机目录/root/apache-maven-3.5.3(自己下载解压的maven)。
hostPath挂载需要修改scc权限
采用github开源项目,https://github.com/jenkinsci/java-client-api,最后初步实现了所有功能。