Jenkins基於Kubernetes的pipeline CI 構建的必備要素

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/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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章