一、jenkins介紹
1、持續整合(CI) Continuous integration 持續整合 團隊開發成員每天都有整合他們的工作,透過每個成員每天至少整合一次,也就意味著一天有可 能多次整合。在工作中我們引入持續整合,透過持續整合自動構建(程式碼的編譯、釋出、部署、 用例的更新和自動化執行),從而達到儘早發現程式碼整合的錯誤。
例如:一個專案有a,b,c ;任何一個改動程式碼,都要去整合;
2、在沒有持續整合時,開發的模式是:
第一步:專案一開始劃分模組,將模組分配給對應的開發
第二步:開發對自己所負責的模組進行開發以及對應後期的單元測試
第三步:等所有模組開發完成後,由專案老大(開發負責人)對所有模組的程式碼進行整合
第四步:將整合好的程式碼部署到環境上,交由測試人員進行整合測試
第五步:測試過程中發現bug,測試人員提交bug並進行記錄
第六步:對應的開發人員進行bug修復
第七步:等所有開發人員將bug修復好,再進行程式碼整合,交給測試進行迴歸測試 這樣我們會陷入一個迴圈:修改bug整合程式碼部署測試的迴圈中
缺陷: a.bug永遠都是在最後才發現,不能及時發現。 b.這樣的話測試效率低,使得交付效率質量差。
3、用Jenkins做持續整合的目的:及時發現bug,提高效率
4、持續整合的優點:
1、統一的程式碼庫
2、自動部署和構建
3、自動測試
4、保證專案的交付質量
5、用什麼實現持續整合?
使用Jenkins工具能幫我們實現持續整合6、什麼是Jenkins?
是基於Java開發的一種持續整合工具,用於監控持續重複的工作,旨在提供一個開放易用的軟體平臺,使軟體的持續整合變成可能。
7、Jenkins有哪些功能
1)持續的軟體版本釋出/測試專案。
2)監控外部呼叫執行的工作。
8、Jenkins擁有的特性包括:
1)易於安裝只要把jenkins.war部署到servlet容器,不需要資料庫支援。
2)易於配置所有配置都是透過其提供的web介面實現。
3)整合RSS/Email透過RSS釋出構建結果或當構建完成時透過email通知。
4)生成JUnit/TestNG測試報告。
5)分散式構建支援Jenkins能夠讓多臺計算機一起構建/測試。
6)檔案識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。
7)外掛支援:支援擴充套件外掛,你可以開發適合自己團隊使用的工具。
Jenkins的主要目標是監控軟體開發流程,快速顯示問題。所以能保證開發人員以及相關人員省時省力提高開發效率。
8、Jenkins中的節點?
一個節點是一個代理伺服器。建議使用字母、數字或字母和數字的組合。
最好見名知意。不建議 使用標點符號和中文(中文命名沒有問題,但Job中無法引用)
二、Jenkins環境搭建(linux中)
JDK1.8 最好安裝1.8的
Jenkins.war包
二、安裝JDK (jdk8u60windowsx64.exe) 把JDK放入G盤,雙擊jdk8u60windowsx64,安裝路徑放入為G:\java
解壓tomcat
啟動伺服器:
三、linux環境上搭建jenkins
第一步:把本地jenkins.war包存放到tomcat路徑下apachetomcat7.0.56/webapps
第二步:啟動tomcat,啟動後jenkins.war包會自動解壓,生成一個jenkins目錄
第三步:瀏覽器位址列中輸入IP地址+8080端 口/jenkins(http://192.168.157.129:8080/jenkins),正常開啟jenkins應用頁面 如果頁面報錯要關閉防火牆:service iptables stop
頁面顯示如下:
Jenkins管理員密碼已經寫入伺服器/root/.jenkins/secrets/initialAdminPassword 檔案中, 複製密碼貼上到下面的文字框中。
講解下:/root 路徑就是 cd ~
cat /root/.jenkins/secrets/initialAdminPassword
密碼: 41ec6d8ca3d04ec9a6b8c9d1b4b1d580
第四步:在linux環境中輸入命令: cat /root/.jenkins/secrets/initialAdminPassword ,復 制密碼 到文字框中,點選continue
複製:密碼:41ec6d8ca3d04ec9a6b8c9d1b4b1d580
四、jenkins新增節點 第一步:首頁點選系統管理——》管理節點——》新建節點
(注意點:(先設定全域性安全配置))
第二步:輸入節點名稱,勾選固定代理
第二步:勾選啟用安全
第三步:代理中選額隨機選取,代理協議都進行勾選
第四步:選擇應用,儲存>然後點選test_vm
構建專案:
五、Jenkins構建專案:
第一步:首頁,點選開始建立一個新任務輸入一個專案名稱,選擇構建一個自由風格的軟體項 目,最後確定
舉例:名稱:test1
輸入專案名稱
第二步:輸入專案具體配置
專案名稱:自定義
限制可以執行該專案的位置:輸入標籤,標籤為代理的標籤(指定專案在哪個代理機上執行)
或者
3.構建:點選增加構建步驟 ,選擇執行windows批處理命令
python+絕對路徑
5.點選儲存>然後點選立即構建>構建完成之後點選#2>點選控制檯輸出就可以看到相關的 日誌了
複製報告地址在瀏覽器輸入: G:\jenkins\workspace\auto_test\report.html
6.如果出現下面的錯誤(沒有沒有出現就忽略):
那麼就給專案新增一個工作空間,如果系統自動選擇工作空間是master,那麼就進行修改
也可以使用自己自定義的工作空間,就是工作空間與代理伺服器工作空間不同的時候
可以自定義工作空間
如果出現如下報錯:
hudson.AbortException: No files found in path G:\jenkins\output\auto_test with configured filemask: output.xml 就需要把工作空間和日誌輸出路徑都改為G:\jenkins就可以了。
7.構建觸發器(設定定時任務) Build periodically 在日程表中設定
觸發器是用於控制自動化測試執行時間的 日程表裡有5個數字,分別為:
H * * * *
第一個* 表示: 分鐘:0—59
第二個** 表示: 小時:0–23
第三個* 表示 日:1—31
第四個* 表示 月:1—12
第五個* 表示 周:0–7 0和7都代表星期天
H 表示隨機
- 表示所有
- 表示連續
/ 表示間隔
, 表示和
M-N 指定一個範圍值
例如: 每15分鐘執行一次 H/2 * * * * (注意:要空一格,H/2 每隔兩分鐘,第二個* 任何時 ,第三個* 表示任何日,第四個* 表示任何的月,第五個* 表示任意周 )
每天8至點16點,每1小時執行一次 H 8-16/1 * * *
每前半小時中,間隔10分鐘 H/(0-30)/10 * * * *
每個工作日從早上9:45分鐘到下午3:45分中結束這段時間內,每間隔2小時的45分鐘那一刻。45 9-15/2 * * 1-5
每個工作日從早上9:00 到下午5:00 這段時間內每間隔2小時的的某刻;
H (9-17)/2 * * 1-5
==============================================
擴充:
jenkins +git 拉取程式碼
jenkins+svn 拉取程式碼