使用Jenkins搭建持續集成環境

使用Jenkins搭建持續集成環境

準備工作

  1. 安裝JDK (具體安裝流程這裏不進行展開討論)
  2. 從Jenkins官方網站https://jenkins.io下載最新的war包。(雖然Jenkins提供了Windows、Linux、OS X等平臺的安裝包,但是,牆裂推薦使用war包)

安裝Jenkins

當我們準備工作完成時,我們就可以開始我們的啓動工作了。
首先,我們在終端cd到我們存放jenkins.war文件的目錄下,運行下面的命令

java -jar jenkins.war

這時Jenkins就啓動成功了!--jenkins.war文件中自帶了Jetty服務器,所以剩下的工作我們就可以在瀏覽器中接着開展了。
第一次啓動Jenkins時,處於安全考慮,Jenkins會自動生成一個隨機的安裝口令。這個口令被輸出到Java控制檯,我們需要將這個口令複製並紀錄下來.
jenkins-001.png
接着打開瀏覽器輸入

http://localhost:8080/

我們將會看見類似下面的界面,然後將我們保存的口令輸入到(粘貼)對應的輸入框內。
jenkins-002.png

然後點擊繼續,直接我們將來到安裝界面
jenkins-003.png

如果執行默認的安裝,Jenkins就自動配置好了Maven、git等常用插件。(安裝過程中,可能需要自備梯子)
新手推薦使用Jenkins的默認安裝,高階玩家請自行選擇。
jenkins-004.png

然後靜靜地等待安裝完成,安裝完成後,Jenkins會提示你創建一個賬戶,當然也可以使用其默認創建的admin用戶。
jenkins-005.png

輸入用戶名密碼之後,點擊確認創建。然後你將看到

jenkins-006.png

點擊start,進入如下界面,說明你安裝成功了
jenkins-007.png

開始構建第一個項目

在安裝成功後,我們登錄Jenkins
第一次使用前,需要在“系統管理”->“Global Tool Configuration”->“Maven”中新增一個Maven,直接輸入一個名字,選中“自動安裝”,Jenkins會自動下載並安裝Maven(如果項目不是Maven管理的就不需要哈):
jenkins-008.png

jenkins-009.png

點擊save按鈕,接下來我們在Jenkins首頁選擇“新建”,輸入名字,選擇“構建一個多配置項目”:
jenkins-010.png

接着在配置頁中,源碼管理選擇Git,填入地址,
默認使用master分支。如果需要口令,在Credentials中添加用戶名/口令,或者使用SSH Key。
jenkins-011.png

接着配置構建的觸發條件,構建觸發器指定了觸發一次構建的條件。
jenkins-012.png

推薦使用最簡單的配置“Poll SCM”,它的意思是,定時檢查版本庫,發現有新的提交就觸發構建。
這種方式對git、SVN等所有版本管理系統都是通用的。
我們在日程表中填入:

* * * * 

表示每一分鐘檢查一次,當然我們也可以自定義別的,例如,我們想要每15分鐘檢查一次

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday.
45 9-16/2 * * 1-5
# once in every two hours slot between 9 AM and 5 PM every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H H(9-16)/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *

在“Build”中,如果我們使用的是Maven項目,默認的Root POM是pom.xml。如果pom.xml不在根目錄下,就填入子目錄,例如:src/pom.xml。

在Goals and options中,填入需要執行的mvn命令:clean package,Jenkins將執行如下命令:

mvn clean package

特殊參數也在這裏填寫,如-DskipTests=true clean package。

保存後,就可以執行自動化構建了。

點擊一個構建任務,可以在Console Output中看到控制檯詳細輸出,便於出錯排查.

如何部署

如果要部署構建好的war包,可以在Post Steps中填上shell命令,直接用腳本部署。

另一種方式是創建另外一個構建項目,手動觸發部署。

無論用哪種方式,都是爲了確保編譯、部署是通過CI服務器完成的,而不是某臺開發機器。

如何創建Linux服務

有了Jenkins,我們就可以在內網或者租用一臺EC2服務器來搭建CI環境,每月費用不到¥100。
推薦Ubuntu Linux系統。因爲我們不想每次登錄到Linux去啓動Jenkins,也不想寫腳本來啓動服務。
推薦安裝JDK後,配合supervisor,把Jenkins直接變成一個服務。

例如,我們可以在Linux上創建一個針對性的ci用戶,然後,用supervisor啓動並指定9001端口:

# /etc/supervisor/conf.d/ci.conf

[program:ci]
command=java -jar /home/ci/jenkins.war --httpPort=9001
user=ci
autostart=true
autorestart=true
startsecs=30
startretries=5

Jenkins默認在當前用戶的主目錄下創建.jenkins目錄,所有的配置文件、數據庫都存放在裏面,只需要備份這個目錄就備份了整個CI配置。

OK,一個CI環境就搭建完畢。

發佈了106 篇原創文章 · 獲贊 79 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章