當前位置:
首頁 > 知識 > DCOS中Jenkins動態Slave環境的配置與構建

DCOS中Jenkins動態Slave環境的配置與構建

DCOS中Jenkins動態Slave環境的配置與構建

在DC/OS中,Jenkins採用Docker in Docker(DnD)模式為Slave主機動態分配資源並在這些Slave節點上運行Job任務。Jenkins的DnD鏡像可以通過自定義來支持不同的編譯環境,因此可以為Java,Node.js,Ruby等等構建不同的Slave主機環境鏡像。這些鏡像可以通過任務標籤進行選擇。

DCOS中Jenkins動態Slave環境的配置與構建

Jenkins Slave DnD鏡像

  • Maven構建環境

    https://github.com/christtrc/docker-jenkins-gitbook-agent

  • Gitbook構建環境

    https://github.com/christtrc/docker-jenkins-gitbook-agent

Docker私有倉庫配置

Jenkins Slave主機以容器運行時,有些任務需要拉取私有倉庫中的基礎鏡像並將編譯後的鏡像推送到私有倉庫。因DnD模式的容器是動態構建的,如果私有倉庫配置的是自簽名證書,為了能夠正確訪問容器私有倉庫,通常需要掛載Agent主機上的Docker配置。

DCOS中Jenkins動態Slave環境的配置與構建

否則,在應用過程中可能會碰到x509: certificate signed by unknown authority的異常信息。


Maven環境

當Jenkins的Job任務中存在Maven構建時,Maven會自動從中央倉庫下載項目的依賴。由於DnD模式的容器是動態構建的,Maven環境位於DnD容器中,每次任務執行都需要下載Maven的倉庫依賴,這會嚴重影響帶寬及項目構建速度,因此必須將Maven倉庫掛載在DnD容器運行的Agent宿主機的磁碟上。

另一個問題是DnD容器在DC/OS集群中是動態漂移的,所以選取的磁碟存儲必須能夠在所有Agent節點之間都能夠共享訪問,基本的方案是使用NFS存儲,也可以選擇採用GlusterFS,Ceph及其它SAN/SNS方案。

DCOS中Jenkins動態Slave環境的配置與構建


SBT環境

與Jenkins Maven編譯環境類似,因為執行Job任務時,每次都重新構建(或重用未釋放的)Jenkins Slave環境,對於項目依賴的一些構件,如果不採用外部存儲,構建任務往往會每次全量下載所有的依賴,導致很長的構建延時。為了解決此問題,需要對Jenkins DnD鏡像設置添加SBT構件緩存路徑的外部卷掛載。

DCOS中Jenkins動態Slave環境的配置與構建

此時,可以將SBT倉庫的配置文件repositories添加到Agent主機的/data/sbt目錄下,根據需要隨時調整,如:

DCOS中Jenkins動態Slave環境的配置與構建

再次說明,為了重用Maven及ivy的本地倉庫,路徑/data最好指向NFS,GlusterFS等公共存儲。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 領域修鍊之路 的精彩文章:

Hashicorp Vault:安全性與複雜性的平衡
DCOS中的服務發現與負載均衡
在DCOS中搭建私有DOCKER鏡像倉庫

TAG:領域修鍊之路 |

您可能感興趣

VSCode配置Python編輯器
Servlet+MyBatis項目轉Spring Cloud微服務,多數據配置修改建議
ELK 架構之 Logstash和Filebeat 安裝配置
Windows下BVLC Caffe的安裝與配置
配置SAP Solution Manager連接監控遠程Microsoft SQL Server
SpringCloud統一配置中心Config Client
Jenkins GitLab webhooks配置
VMware Horizon View Real-Time Audio-Video 相關配置
Moto One Vision配置曝光
Cisco路由器Easy VPN的配置
SpringBoot中如何進行Bean配置
三星Galaxy Note 9與蘋果iPhone X Plus配置匯總
SpringBoot使用Nacos配置中心
Selenium的安裝與Firefox配置
Centos下安裝配置WordPress與nginx教程
Spring SpringMVC配置Druid數據源(資料庫連接池)
如何在 Linux 中安裝、配置和使用 Fish Shell?
Cisco Packet Tracer中配置單臂路由
Kolla中配置OpenStac虛機網路vxlan和vlan共存
高配置實戰利器!全新 Jordan Supreme Elevation 現已發售