K8S 部署 jenkins

Posted klvchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S 部署 jenkins 相关的知识,希望对你有一定的参考价值。

动态创建 jenkins-slave 构建任务

把 Jenkins 插件源更改为国内

  1. 进入 Manage Jenkins -》 Manage Plugin -> Advanced 最下面有 Update Site 设置为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  2. 修改服务器配置,进入 jenkins安装目录 , /updates/default.json ,将其中的 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins ,然后把www.google.com 修改为 www.baidu.com
cd /nfs/jenkins/kube-ops-jenkins-claim-pvc-f6ba2f57-6dd3-4309-889c-2cb383e09dfa/updates
cp default.json default.json.ori
sed -i "s#www.google.com#www.baidu.com#g" default.json 
sed -i "s#updates.jenkins-ci.org/download#mirrors.tuna.tsinghua.edu.cn/jenkins#g" default.json 
  1. 重启Jenkins服务

安装插件

Localization:Chinese
Git
Pipeline
Extended Choice Parameter
Kubernetes

实现Jenkins与Kubernetes整合

系统管理 -> 系统配置 -> 云 -> 新建云 -> Kubernetes
技术图片

Kubernetes 地址: https://kubernetes.default.svc.cluster.local
Kubernetes 命名空间: kube-ops
然后点击"连接测试",如果出现 Connection test successful 的提示信息证明 Jenkins 已经可以和 Kubernetes 系统正常通信
Jenkins 地址: http://jenkins.kube-ops.svc.cluster.local:8080

测试

创建一个 流水线 任务,流水脚本如下

//创建一个Pod的模板,label为jenkins-slave
podTemplate(label: ‘jenkins-slave‘, cloud: ‘kubernetes‘, containers: [
    containerTemplate(
        name: ‘jnlp‘, 
        image: "jenkins/jnlp-slave:latest"
    )
  ]
) 
{
//引用jenkins-slave的pod模块来构建Jenkins-Slave的pod
node("jenkins-slave"){
      // 第一步
      stage(‘测试‘){
	sh ‘‘‘
            echo "hello world" 
        ‘‘‘
      }
  }
}

点击执行后,你可以在 Jenkins 的日志中看到有一个 jenkins-slave 节点生成来执行任务,任务执行完成后便自动销毁
技术图片
技术图片











以上是关于K8S 部署 jenkins 的主要内容,如果未能解决你的问题,请参考以下文章

K8s+Jenkins+GitLab+动态slave-自动化项目部署(详细讲解)

使用jenkins流水线完成自动部署服务到K8s

基于k8s构建企业jenkins CICD

采用jenkins pipeline实现自动构建并部署至k8s

K8S集群中部署jenkins

jenkins+kubernetes(k8s)+docker持续集成与部署(CI/CD) - k8s系列