Jenkins基于Kubernetes的pipeline CI 构建的必备要素
Jenkins基于Kubernetes的pipeline CI 构建的必备要素本文仅仅介绍一下基于kubernetes的pipeline CI 环境搭建一些必备要素:使用Jenkins 官方提供的master镜像安装必要插件包括:kubernetes插件pipeline 插件Docker pipeline 插件Git 插件或其他代码管理的插件使用官方提供的jnlp-slave的镜像
Jenkins基于Kubernetes的pipeline CI 构建的必备要素
本文仅仅介绍一下基于kubernetes的pipeline CI 环境搭建一些必备要素:
- 使用Jenkins 官方提供的master镜像
- 安装必要插件包括:
- kubernetes插件
- pipeline 插件
- Docker pipeline 插件
- Git 插件或其他代码管理的插件
- 使用官方提供的jnlp-slave的镜像
配置方法请参见:http://blog.csdn.net/daniel_greenspan/article/details/53338619
配置项:
jenkins–>系统管理–>系统设置–>云 “新增一个云–>选择kubernetes”
配置kubernetes :
Name: k8s_cluster
Kubernetes URL: https://kubernetes.default
Kubernetes Namespace: default
Jenkins URL: http://jenkins.default:8080
配置kubernetes上 jenkins-slave的pod:
images - Kubernetes Pod Template:
Name: jnlp-slave
Labels: jnlp-slave
Docker image: registry.gkkxd.com/jenkinsci/jnlp-slave:2.52
Jenkins slave root directory: /home/jenkinsAdd vloume /home/jenkins
问题:
- 关于docker 挂载卷, jenkins maste和slave默认的user 是jenkins,因此需修改将要挂载给jenkins master 和slave的卷的所有者和读写权限 例如:
- chown -R jenkins /home/data
- chmod 777 -R /home/data (这个不一定是777,但777一定能用)
- jenkins 这里最终是采用的基于kubernetes的docker in docker的编译模式, 因为最终编译的容器是在pipeline的脚本中所写的那个镜像中编译的,可jenkins slave是kubernetes slave pod中配置的,那么jenkins的workspace一定要挂载给jenkins 陪着的 slave
更多推荐
所有评论(0)