• 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 节点生成来执行任务,任务执行完成后便自动销毁

    配置 Jenkins Slave 运行的 Pod 模板

    以便在自由风格的软件项目中使用

    Pod Templates 下面添加
    名称 :jnlp
    命名空间 :kube-ops
    标签列表 :jenkins-slave

    容器列表 添加
    名称 : jnlp
    Docker 镜像 :cnych/jenkins:jnlp6
    运行的命令 和 命令参数 留空


    挂载 /var/run/docker.sock 和 /root/.kube 以便 cnych/jenkins:jnlp6 使用 kubectl 和 docker 命令


    Service Account : jenkins-admin

    测试

    创建一个 自由风格的软件项目 mytest

    标签表达式 :jenkins-slave # 以上面的模板一致

    构建 -> 执行 shell

    echo "测试 Kubernetes 动态生成 jenkins slave"
    echo "==============docker in docker==========="
    docker info
    
    echo "=============kubectl============="
    kubectl get pods
    
    

    点击 构建执行 后,成功进行构建

  • 相关阅读:
    Linux监控端口与性能分析的
    对大数据简单生态的部分认知随笔
    致敬那些年对nginx踩过的坑
    面试中一些比较尴尬的问题
    硬盘的接口有哪几种
    硬盘的逻辑结构
    Oracle数据库的备份与恢复还原笔记
    Linux安装Mysql5.7.29
    [转]为什么会有OPTION请求?
    图解HTTP(5-6章节)---阅后笔记
  • 原文地址:https://www.cnblogs.com/klvchen/p/13266175.html
Copyright © 2020-2023  润新知