1. 程式人生 > >Jenkins持續編譯、執行自動化用例

Jenkins持續編譯、執行自動化用例

持續整合(CI)

Jenkins是一個持續整合工具,能夠持續編譯、執行測試程式碼。它有各種不同的配置方式,可以在程式碼check-in之後執行測試程式碼,也可以週期性執行測試程式碼(比如每天開工前的環境健康度檢查),執行結果可以生成報告,也可以郵件分發出去。

Jenkins下載安裝

然後用命令列啟動: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之後,上面配置的構建通知郵件才會順利發出去。
    這裡寫圖片描述

配置完成後,檢視它的執行歷史,再檢查下郵箱,成功和失敗的,都有郵件通知,如下所示:
這裡寫圖片描述

這裡寫圖片描述