Jenkins小菜初次使用小記


title: Jenkins自動集成小記

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分享(一)小結

Jenkins是一個很是方便的工具,免費開源,推薦你們都來學習,都折騰下,對你之後大有好處。我其實也是剛剛學這個,知道的還很少,還須要花不少時間去折騰,有更新的收穫我會慢慢分享出來。

歡迎加入個人Java棧羣:518914410,討論有關Java的一切技術。

相關文章
相關標籤/搜索