持續集成(CI)
Jenkins是一個持續集成工具,能夠持續編譯、運行測試代碼。它有各種不同的配置方式,可以在代碼check-in之後運行測試代碼,也可以週期性運行測試代碼(比如每天開工前的環境健康度檢查),運行結果可以生成報告,也可以郵件分發出去。
Jenkins下載安裝
Jenkins官網:http://jenkins-ci.org,找到它最新版的.war,目前是1.622,下載下來:http://mirror.xmission.com/jenkins/war/1.622/jenkins.war
然後用命令行啓動:java -jar jenkins.war
啓動完成後,打開網址,http://localhost:8080/(Jenkins默認端口號是8080,如果此端口號被佔用,會變成其他的,比如8081什麼的,可以從啓動時終端的日誌信息看到端口號信息)。
Jenkins任務配置
在根目錄點擊新建,創建一個自由風格的項目(從最簡單的開始)
在源碼管理處選擇None
構建觸發器這裏,用crontab方式配置週期性觸發
Crontab * * * * *,從左至右分別表示分鐘(Minute)、小時(Hour)、日期(Day of Month)、月份(Month)、星期幾(Day of week,0-7,0和7均表示星期天)
在任何一位上,都可以用如下句法:
‘M-N’,如”1-5”,如果是分鐘,則表示1,2,3,4,5
‘M-N/X’表示在M-N範圍內以X步調增加,例如1-6/2表示1,3,5
‘/X’ 表示每過多少,例如/X * * * *表示0,15,30,45
‘A,B,…,Z’表示多個值,例如”0,30”或者”1,3,5”在構建這裏選擇執行shell腳本,這裏有神坑。。。shell腳本里寫編譯並執行java代碼,而mac下,javac以及java句法跟windows以及Linux都不一樣。我使用普通的寫法編譯了半天都不對,最後翻牆出去google到了mac下的句法。
cd /Users/Sophie/IdeaProjects/BBSAutoLoginReplyScreenShot/src
javac -cp :selenium-server-standalone-2.46.0.jar:selenium-java-2.46.0.jar: AutoLoginReplyScreenshot.java
java -cp :selenium-server-standalone-2.46.0.jar:selenium-java-2.46.0.jar: AutoLoginReplyScreenshot
/Users/Sophie/IdeaProjects/BBSAutoLoginReplyScreenShot
增加構建後操作,這裏我們輸入郵箱地址,用來接收通知郵件。注意,爲了能夠正常發送郵件,還需做另外配置,位於根頁面,系統管理->系統設置下面。
先配置發送人郵件地址
再配置郵件服務器,這裏我選擇smtp協議,如果在『用戶默認郵件後綴』這裏配置了後綴,那麼下面用戶名那裏就不用再寫後綴,只寫@之前的即可。配置完之後可以勾上最下面的『通過發送測試郵件測試配置』來調試一下。這些都OK之後,上面配置的構建通知郵件纔會順利發出去。
配置完成後,查看它的執行歷史,再檢查下郵箱,成功和失敗的,都有郵件通知,如下所示: