




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
使用JenkinsPipeline插件和Docker打造容器化構(gòu)建環(huán)境Docker和Jenkins像DevOps界的巧克力和花生醬那樣,它們的組合產(chǎn)生了無數(shù)的機會,當然也產(chǎn)生了很多難題,筆者將提及這兩個方面。本文中,我假定讀者已經(jīng)熟悉Jenkins和Docker,我將把焦點放在特定的配置上而不是把筆墨花費在許多博文已經(jīng)介紹過的入門概念上。設定目標我所要達成的目標其實非常簡單:在一個容器中搭建Jenkins主節(jié)點,并且在多個主機上搭建多個JNLP代理容器。這些代理節(jié)點可以運行在不同的AWSVPC或者ECS上。我的目標是得到一個能在任何主機上部署的通用配置,而每個項目分別定義各自的構(gòu)建環(huán)境。這樣各個開發(fā)團隊就可以掌控這份配置,而不用經(jīng)由Jenkins的構(gòu)建團隊。我會盡量避免構(gòu)建一個特定工具集的代理節(jié)點。容器技術能實現(xiàn)這樣的構(gòu)建環(huán)境,但是要真正把每個細節(jié)都做好絕對是一個挑戰(zhàn)。為了實現(xiàn)這個目標,我還使用了JenkinsPipeline/Workflow插件。這個插件讓你能非常優(yōu)雅地使用DSL語言描述構(gòu)建過程,例如這樣簡單地定義:node('test-agent'){stage"ContainerPrep
這個pipeline會在一個名為”test-agent”的Jenkins代理上執(zhí)行,它會基于“maven”3.3.3-jdk-8”鏡像構(gòu)建一個容器。這個pipeline在物理節(jié)點上能正常運行,但是在容器中運行則會報錯。運行在Docker中的Docker在容器中運行Jenkins的主或從節(jié)點,可能有人會以為我需要特權(quán)模式來使用"DockerinDocker”,但是我并沒有,JQr6mePetazzoni發(fā)表了一篇文章《使用Docker-in-Docker來運行Cl或集成測試環(huán)境?三思》,你應該參考一下這篇文章。如果你還在使用wrapdocker的腳本,你應該問問自己為什么,因為這樣用起來更簡單:這個命令會啟動Jenkins并且可以擁有所有的容器操作功能,所以并不需要特權(quán)模式來啟動容器,也不需要”Docker-in-Docker”模式。有個地方需要注意:在這里你不能用官方的Jenkins鏡像,因為jenkins用戶需要屬于docker用戶組,這樣才能使用socket,從而能在容器中的Jenkins調(diào)用docker,最終實現(xiàn)通過Jenkins構(gòu)建和運行其他容器。
JenkinsJNLP代理容器在“系統(tǒng)管理”=>“管理節(jié)點”頁面,點擊“新建節(jié)點”,可以添加slave:an?S只 an?S只 4機卑的JobH融W逵 LiiinehtUh*半腫心啊J?^Wt<5笑?Avari!biSrT 而q 負酣*Ofl-iirflumuch^po^^W'ltMDdcPTopormEjivrw-nipn陽陽les"fe&Jl<xr#lcngJenkins從節(jié)點的啟動方式與主節(jié)點類似,它也需要連接docker的socket接口你可以這樣啟動:test-agent與Jenkins主節(jié)點一樣,你需要確保jenkins用戶有權(quán)限訪問dockersocket接口,我使用的是Jenkinsjnlp從節(jié)點容器,這樣,這個slave容器就可以執(zhí)行構(gòu)建操作了,注意secret參數(shù)需要從master上的某個slave里查看。準備就緒,開始構(gòu)建在容器中開始一個構(gòu)建過程不難,問題是你必需讓這個代理容器綁定一個宿主機上的路徑${JENKINS_HOME}:/var/jenkins_home,而且被構(gòu)建的容器也需要這個目錄的訪問權(quán)限。這個容器會把宿主機上的/var/jenkins_home/workspace/uri-templates-in-docker目錄掛載到容器化環(huán)境以供Maven使用,并且會把這個路徑設置成當前工作路徑,這些在物理機上都能正常運行,但是要在容器中執(zhí)行,我需要嘗試這樣做:這樣明顯不行,因為我把dockersocket端口映射到了Jenkins代理容器上,掛載到Jenkinsagent容器的所有卷實際上都是引用宿主上的路徑,假定宿主上的${JENKINS_HOME}是/opt/jenkins_home,以下的命
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 東坡成就介紹課件
- 上海市奉賢區(qū)2025屆高三下學期二模試題 歷史 含解析
- 專業(yè)職業(yè)課件
- 合伙合同與終止合同
- 遼寧省沈陽市五校協(xié)作體2024-2025學年高考模擬試卷(1)語文試題含解析
- 山東理工大學《數(shù)據(jù)結(jié)構(gòu)中俄》2023-2024學年第一學期期末試卷
- 山東省青島市第十六中學2025年重慶一中初三4月月考物理試題含解析
- 銷售合同書范文
- 店鋪租賃合同模板
- 云南省德宏市重點中學2025屆初三5月模擬考試自選試題含解析
- 養(yǎng)老院安全知識培訓課件
- 基礎教育教學研究項目結(jié)項鑒定審批書
- 中小學生心理健康教育課件
- 2025年03月北京住房公積金管理中心(北京市住房資金管理中心)公開招聘8人筆試歷年參考題庫考點剖析附解題思路及答案詳解
- 預防觸電知識培訓
- 中藥煎藥室工作制度和流程
- 國開2025年《會計政策判斷與選擇》形考任務1-9答案
- 京瓷哲學學習與應用課件
- 2025年河南對外經(jīng)濟貿(mào)易職業(yè)學院單招職業(yè)適應性測試題庫新版
- 撒哈拉以南非洲(第2課時)課件-2024~2025學年人教版初中地理七年級下冊
- 2025年甘肅財貿(mào)職業(yè)學院單招職業(yè)適應性考試題庫有答案
評論
0/150
提交評論