Jenkins是一個開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重複的工做,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。html
1.Windows 服務安裝(下載上圖中的Windows版本)java
直接安裝便可。web
2.Tomcat 部署安裝(Tomcat + .war)shell
此處省略,只需安裝Java JDK和Tomcat後,將下載地war包放入webapps下啓動tomcat便可訪問。json
3.cmd java命令安裝(cmd + .war)瀏覽器
這種方式相對來講比較通用,建議你們使用這種方式來安裝,打開cmd,進入到.war包所在目錄,執行如下命令。(不少人第一次啓動可能會報錯ssl等,這個後面須要修改協議,能夠忽略,只要啓動顯示running就算是成功的了)tomcat
java -jar jenkins.war --httpPort=12020
啓動完成後,使用瀏覽器打開地址。安全
http://127.0.0.1:12020
輸入默認密碼進入,已經提示從如下地址進入並查看出密碼。服務器
C:\Users\WENC\.jenkins\secrets\initialAdminPassword
進入到該界面,顯示已經離線,咱們先解決這個問題。app
打開 http://127.0.0.1:12020/pluginManager/advanced,修改Update Site。
https://updates.jenkins.io/update-center.json 修改成 http://updates.jenkins.io/update-center.json
重啓Jenkins,以前報錯的ssl問題會消失。
進入Jenkins頁面。
安裝推薦的插件,後續有其餘須要再另行安裝其餘插件便可,而後進入建立管理員用戶更界面。
保存並完成後,可能會出現空白頁面,重啓一下Jenkins就行了。
Jenkins採用 cmd + .war方式安裝,默認生成的主目錄位置爲:C:\Users\WENC\.jenkins(系統管理-主目錄,可見),現將主目錄位置移動到D:\Jenkins。
更改目錄後,第一次啓動會報錯,由於沒有以前已經安裝過的插件信息等,而後咱們再從原安裝目錄將文件所有拷貝覆蓋到如今的目錄便可。
C:\Users\WENC\.jenkins 拷貝並覆蓋到 D:\Jenkins
再次從新啓動便可。
系統設置-全局工具配置,配置JDK、Maven、Git等。
介紹:攢略。
安裝Maven Integration 插件,避免新建任務時,無Maven項目選項。
關閉 http://127.0.0.1:12020/exit 重啓 http://127.0.0.1:12020/restart 從新加載配置信息 http://127.0.0.1:12020/reload
構建Maven 項目爲例。
SVN爲例:項目svn地址設置,帳號設置。
」構建觸發器」是一個持續集成的觸發器插件,能夠根據已經完成構建的結果,觸發新Job或者傳遞參數。默認的選項是Build whenever a SNAPSHOT dependency is built,意思是依賴於快照的構建,意思是依賴於快照的構建,當代碼有更新時就構建項目。
Build periodically和Poll SCM能夠設置定時自動構建。二者區別以下:
栗子:日程表表達方式,鍵入如下命令,以每分鐘爲例。
#每分鐘 * * * * * #每小時 H * * * * #每12小時 H */12 * * * #更多規則解釋 MINUTE Minutes within the hour (0–59) HOUR The hour of the day (0–23) DOM The day of the month (1–31) MONTH The month (1–12) DOW The day of the week (0–7) where 0 and 7 are Sunday. 指定順序爲MINUTE HOUR DOM MONTH DOW 在某個域指定多個值的規則是: * specifies all valid values M-N specifies a range of values M-N/X or */X steps by intervals of X through the specified range or whole valid range A,B,...,Z enumerates multiple values 若是要按期執行任務,必須提供H (for "hash")標識。 好比0 0 * * *會在同一時間執行全部任務,而使用H H * * *也會在天天執行一次任務,可是並非同一時間,這樣就能夠節省不少資源。 H還能夠用於範圍:H H(0-7) * * * 標識在天天12:00-7:59之間的某個時間執行任務。 H * * * * 表明每一個小時執行一次。 H/15 * * * *每15分鐘執行一次。
調用頂層 Maven 目標,這裏咱們能夠選擇在構建項目以前使用maven命令對項目進行操做,如:clean 、complier、package 、install。
在maven項目建立完成後,咱們還須要實現每次構建完成,將war發佈到目標主機上,以實現自動發佈。咱們經過添加shell實現自動發佈。
找到Post steps下有個Execute shell:
【注意】:Jenkins在執行該shell腳本的時候是以jenkins這個用戶身份去執行。某些場景下請注意環境變量PATH。
到達這一步,咱們能夠先嚐試構建項目,回到Jenkins主界面,點擊對應項目構建,構建完成後,能夠看到項目構建記錄。
點擊連接,能夠看到每一次構建的狀況,藍色表示成功,紅色表示失敗。
點擊控制檯輸出,能夠查看到構建信息,若是報錯自行尋找緣由。
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user roles="manager-gui,manager-script,manager-jmx,manager-status" username="admin" password="admin"/>
接着回到Jenkins,到插件中心安裝Deploy To Container Plugin插件。
在「構建後操做」下,添加「Deploy war/ear to a container」。
Jenkins中帶有郵件通知服務,即項目在持續化構建過程當中,咱們能夠將構建等信息或問題經過Email的方式發送到指定的郵箱中,達到一個通知的效果,如下列出2種郵件服務,第一種是Jenkins中已經自帶的簡單郵件服務,第二種是Email Extension Plugin插件複雜郵件服務。
首先,咱們先對系統的全局變量作一個設置,系統管理-系統設置-Jenkins Location,填入系統管理員郵件地址,收件人。
通常咱們都會使用第三方的郵箱來完成,好比:網易、QQ郵箱等,所以咱們須要在第三方郵箱的設置中先開啓本身的SMTP服務,這裏咱們使用QQ郵箱來作栗子。
Jenkins中自帶的簡單郵件服務,系統管理-系統設置-郵件通知,這裏設置的是」發件人「帳號信息。
點擊Test configuration,進行測試,Email was successfully sent 表示已經成功發送郵件,自行到郵箱查看,若是出現535,則多是上一步發件人不是使用受權碼致使。(QQ郵箱)
項目 -> 配置 -> Post Steps -> 添加」執行shell「,這裏輸入一個錯誤的命令直接強制使構建失敗。
命令:ech "fail"
構建設置:
設置完畢,點擊開始構建項目,在控制檯能夠看到構建失敗的信息。
郵箱裏的構建失敗郵件信息。
首先到插件中安裝該插件(Email Extension Plugin),該插件能夠先配置全局統一配置信息,項目中默認使用全局配置信息,而後也能夠針對每個項目作不一樣的配置調整。
全局配置信息,系統管理-系統配置-Extended E-mail Notification,這裏設置的是」發件人「帳號信息。前6項配置和簡單郵件配置一致便可。
舉個網上的栗子,Default Subject內容以下:
構建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content內容以下:
構建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: <hr/> 項目名稱:$PROJECT_NAME<br/><hr/> 構建編號:$BUILD_NUMBER<br/><hr/> svn版本號:${SVN_REVISION}<br/><hr/> 構建狀態:$BUILD_STATUS<br/><hr/> 觸發緣由:${CAUSE}<br/><hr/> 構建日誌地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/> 構建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/> 變動集:${JELLY_SCRIPT,template="html"}<br/><hr/> Check console output at $BUILD_URL to view the results.
來到項目配置 -> 最後一步」添加構建後操做步驟「 -> Editable Email Notification,在這裏已經配置好全局的統一配置信息,重要選項內已經使用」$DEFAULT_「打頭的內部表達式來定義,其他的選配須要自行設置,針對不一樣的構建項目,這裏的配置信息能夠作不一樣的調整,不一樣的項目負責人接收各自項目的信息,不然將使用全局統一配置項。
從新構建,進行測試,咱們在控制檯能夠看到郵件發送成功的信息。
郵箱裏會收到構建報告。