Jenkins是用來自動構建任務的,也許你還不知道什麼叫自動構建任務,它的意思是能夠針對某個任務進行自動化,好比你開發的某個軟件,每次寫完代碼提交到github
以後,你能夠設置讓Jenkins自動進行打包構建發佈包或者進行Units測試,發佈報告,不用你每次手工在IDE
中去Build,尤爲是當打包很是繁瑣的時候,用自動化構建能夠極大的提升工做效率。java
公司是同事使用Jenkins
作的自動化構建,很是方便,每次提交代碼,自動檢測打包是否成功,而後發送郵件通知,由於咱們集成了findingbugs
插件,在打包前還會對代碼進行findingbus
檢索,告訴你findingbus
的狀態,還會生成release的發佈包,很是之方便。git
wement.io
這個項目我想多人協做開發,天然想到了Jenkins,讓你們可以配合的很是的舒服,昨天折騰了三小時,搞定了Jenkins
,其中包括怎麼建立一個任務,怎麼設置github
,和github
的項目掛鉤,怎麼設置郵件通知。github
Jenkins
直接去Jenkins
官網下載war
包,我這裏是直接部署在阿里雲的centos7上的,而後用scp xxx.war root@yourip:/home
直接從本地拷貝到雲服務器上,拷貝以後直接用java -jar xxx.war
就能夠運行成功了,若是你指望退出命令行還不關閉Jenkins
的話,就用命令nohug java -jar xxx.war
來運行包,java進程自動在後臺運行了,關閉命令行窗口也不會退出程序,這樣你的Jenkins
就運行了,默認端口監聽在8080,若是你也是用的雲服務器,請確保你的8080端口是容許訪問的。apache
固然,要運行Jenkins
,你須要安裝Java環境,若是你的代碼倉庫用git
的話請安裝git,分別命令以下:centos
yum install java
瀏覽器
yum install git
服務器
尚未完,Jenkins運行成功了,你再在瀏覽器上打開yourip:8080
跟隨Jenkins
安裝嚮導,用默認提示安裝完成便可,接下來就是建立任務了。ssh
選擇第一性,構建一個自由風格的軟件項目
maven
而後保存便可,任務建立完成。可是若是你的項目是私有項目,你須要在你的服務器上生成ssh,而後貼到你的github上,這樣作的目的是然github信任你的這個服務器,同時要注意你的Jenkins控制檯,有可能要你輸入ssh的證書密碼。工具
通常來講這個時候右鍵通知是沒問題的,可是我今天發現我提交代碼以後,任務並無自動構建,而後看Jenkins
打的log是這樣的:
22:23:55 [WARNING] mvn dependency:tree -Ddetail=true and the above output. 22:23:55 [WARNING] See http://maven.apache.org/plugins/maven-shade-plugin/ 22:23:56 [INFO] ------------------------------------------------------------------------ 22:23:56 [INFO] BUILD SUCCESS 22:23:56 [INFO] ------------------------------------------------------------------------ 22:23:56 [INFO] Total time: 10.112s 22:23:56 [INFO] Finished at: Thu Aug 10 22:23:56 CST 2017 22:23:56 [INFO] Final Memory: 20M/59M 22:23:56 [INFO] ------------------------------------------------------------------------ 22:23:56 Archiving artifacts 22:23:56 Email was triggered for: Always 22:23:56 Sending email for trigger: Always 22:23:56 Not sending mail to unregistered user chengming@testin.cn because your SCM claimed this was associated with a user ID ‘chengming' which your security realm does not recognize; you may need changes in your SCM plugin 22:23:56 An attempt to send an e-mail to empty list of recipients, ignored. 22:23:56 Finished: SUCCESS
意思是構建成功了,可是發送郵件發現提交代碼的用戶名是chengming
而不是我在Jenkins
中設置的cmlanche
,而後Jenkins自動忽略了發送郵件的這個行爲。
而後我在個人sourcetree
中把提交代碼的用戶換回了cmlanche
,任務自動構建,郵件發送成功!
Jenkins
是一個很是方便的工具,免費開源,推薦你們都來學習,都折騰下,對你之後大有好處。我其實也是剛剛學這個,知道的還很少,還須要花不少時間去折騰,有更新的收穫我會慢慢分享出來。
歡迎加入個人Java棧羣
:518914410,討論有關Java的一切技術。