持续集成工具Jenkins看这篇就够啦!
本文以基于當(dāng)前最新的?LTS?版本?2.164.1?,理論上適應(yīng)于Jenkins 2.x所有版本。
一、下載
前往Jenkins官網(wǎng)[1]?,按需下載。如用于生產(chǎn),建議下載Long-term Support (LTS)?版本,這樣能夠獲得相對長期的維護(hù);如想體驗(yàn)最新的功能,可嘗試?Weekly?版本。
可以直接下載特定系統(tǒng)專屬的版本,也可下載?Generic Java package (.war)?。本文下載的是?Generic Java package (.war)?,這樣對所有系統(tǒng)都通用。
二、安裝
2.1 通用安裝方式
安裝Jenkins非常簡單,只需準(zhǔn)備一個(gè)Tomcat(筆者使用的是Tomcat 8),然后將下載下來的?jenkins.war?丟到Tomcat的?webapps?目錄中,然后啟動Tomcat即可。本文,Tomcat使用的端口是?18080?。
Tomcat下載與安裝本文不做贅述,請自行百度。
2.2 Docker安裝方式
使用如下命令即可:
docker run -d -v jenkins_home:/var/jenkins_home -p 18080:8080 -p 50000:50000 jenkins/jenkins:lts2.3 初始化
Jenkins啟動片刻后,訪問?http://localhost:18080/jenkins?,即可看到類似如下的界面:
由界面提示可知,Jenkins設(shè)置了一個(gè)初始的管理員密碼,該密碼存儲在?/Users/itmuch.com/.jenkins/secrets/initialAdminPassword?文件中——只需可找到該文件,將其內(nèi)容復(fù)制到圖示的輸入框中即可。點(diǎn)擊?繼續(xù)?按鈕,將會出現(xiàn)類似如下的界面:
按需選擇即可,建議初學(xué)者選擇?安裝推薦的插件?,因?yàn)樵撨x項(xiàng)包含了Jenkins常用的一些插件,基本滿足日常使用;高手則可選擇?選擇插件來安裝?,該選項(xiàng)更具靈活性。這里,筆者以?安裝推薦的插件為例,點(diǎn)擊后,將會看到類似如下的界面:
待插件安裝完畢后(等待的時(shí)間長短視您的網(wǎng)絡(luò)而定),將會看到類似如下的界面:
Jenkins要求我們創(chuàng)建第一個(gè)管理員賬戶。填入相關(guān)信息,并點(diǎn)擊?保存并完成?按鈕,Jenkins即可初始化完成。
TIPS
安裝完成后,如果訪問?http://localhost:18080/jenkins?變成白板,而且沒有反應(yīng),建議重啟Jenkins服務(wù)器,并重新訪問嘗試。
三、配置
下面,我們來配置Jenkins。
3.1 全局工具配置
1 點(diǎn)擊系統(tǒng)管理?-?全局工具配置?,如下圖:
2 將會看到類似如下圖的界面。按需添加JDK、Git、Gradle、Maven、Docker等配置。配置比較簡單,這里就不贅述了。
3.2 郵件配置
1 點(diǎn)擊?系統(tǒng)管理?-?系統(tǒng)設(shè)置
2 配置管理員郵件地址:
3 郵件發(fā)送配置:
需要注意的是:郵件通知所使用的地址必須與管理員郵箱地址一致,否則將無法正常發(fā)送郵件!!
當(dāng)然,Jenkins還有很多其他的配置選項(xiàng),讀者可自行在Jenkins左側(cè)的系統(tǒng)管理 自行挖掘。
四、使用案例1:構(gòu)建項(xiàng)目
1 在Jenkins首頁,點(diǎn)擊開始創(chuàng)建一個(gè)新任務(wù).?,如下圖所示:
2 創(chuàng)建一個(gè)自由風(fēng)格的項(xiàng)目,如下圖所示:
3 點(diǎn)擊確定后,將會看到配置詳情:
如圖,請?jiān)O(shè)置您想構(gòu)建的項(xiàng)目的Git倉庫地址、對應(yīng)的賬號密碼、想要構(gòu)建的Git分支。一般來說,源碼庫瀏覽器選擇自動即可。
4 Maven配置
其中Maven版本?中所選擇的?maven?,就是之前在全局工具配置?一節(jié)中的Maven配置名稱。
5 如果想設(shè)置定時(shí)構(gòu)建(例如:每天晚上八點(diǎn)構(gòu)建):
6 配置構(gòu)建完成后操作(以發(fā)送郵件為例)
7 點(diǎn)擊構(gòu)建項(xiàng)目,執(zhí)行構(gòu)建
五、使用案例2:流水線
Jenkins 2.x?內(nèi)置了強(qiáng)大的流水線功能。
1 創(chuàng)建一個(gè)?流水線?類型的任務(wù)
2 填寫Pipeline腳本:
node {def mvnHomestage('Preparation') { // for display purposes// clone源碼git 'https://gitee.com/itmuch/spring-cloud-yes.git'// 這里的maven-3.5.0必須跟全局工具配置中設(shè)置的Maven名稱一致 mvnHome = tool 'maven-3.5.0'}stage('Build') {// Run the maven buildif (isUnix()) {sh "'${mvnHome}/bin/mvn' clean install"} else {bat(/"${mvnHome}\bin\mvn" clean install/)}}stage('Email') {mail bcc: '', body: '構(gòu)建成功。', cc: '511932633@qq.com', from: 'eacdy0000@126.com', replyTo: '', subject: '構(gòu)建成功', to: 'eacdy0000@126.com'} }如代碼所示,我們編寫了一個(gè)流水線,該流水線包含三個(gè)階段:
- Preparation:在該階段中,我們Clone源碼,同時(shí),定義了一個(gè)變量叫mvnHome。
- Build:在該階段中,我們執(zhí)行?mvn clean install?命令,其中針對操作系統(tǒng)做了判斷。
- Email:如果構(gòu)建成功,就發(fā)送郵件到?511932633 @ qq.com?。
3 Pipeline腳本功能非常強(qiáng)大,默認(rèn)支持?jǐn)?shù)十個(gè)指令!你可能擔(dān)心指令學(xué)習(xí)的成本,但這種擔(dān)心其實(shí)是多余的——只需點(diǎn)擊下圖中的?流水線語法?按鈕,就可以傻瓜化地使用Pipeline語法啦!
總結(jié)
以上是生活随笔為你收集整理的持续集成工具Jenkins看这篇就够啦!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 职场程序员如何高效自学
- 下一篇: 程序员的中场职业规划