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

點擊 構建執行 后,成功進行構建


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM