Jenkins基于Kubernetes的pipeline CI 构建的必备要素

本文介绍如何在Kubernetes环境中搭建Jenkins CI系统。主要内容包括选用官方镜像、安装必要的插件(如Kubernetes、Pipeline等)、配置Jenkins与Kubernetes的连接,并详细说明了如何设置Jenkins slave节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jenkins基于Kubernetes的pipeline CI 构建的必备要素

本文仅仅介绍一下基于kubernetes的pipeline CI 环境搭建一些必备要素:

  • 使用Jenkins 官方提供的master镜像
  • 安装必要插件包括:
    • kubernetes插件
    • pipeline 插件
    • Docker pipeline 插件
    • Git 插件或其他代码管理的插件
  • 使用官方提供的jnlp-slave的镜像

配置方法请参见:http://blog.youkuaiyun.com/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/jenkins

Add 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值