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