1. 程式人生 > >idea、jira和jenkins的整合

idea、jira和jenkins的整合

本文參考了該文件:http://blog.sina.com.cn/s/blog_88b00ea80101d2l3.html

一、各個外掛環境的配置

1、  首先在jira中建立一個task或者bug,並分配給對應的人員,如jack

2、  在idea中設定

File -> Settings ->Task -> Servers 點選右側上面的+號,選擇JIRA,然後輸入JIRA的Server地址,使用者名稱、密碼即可


3、  在idea中,然後開啟OpenTask介面


4、  如果JIRA中有分配給你的Task,idea能自動列出來、


選擇一個task後


5、  程式碼修改後,向svn提交時,會自動與該任務關聯


將每次提交的程式碼修改與JIRA上的TASK關聯後,有什麼好處呢?我們每天可能要寫很多程式碼,修復若干bug,日子久了以後,誰也不記得當初為了修復某個bug做了哪些修改,不要緊張,只要你按上面的操作正確提交,idea都會幫你記著這些細節


如上圖,選擇最近提交的TASK列表,選擇Switch to,idea就會自動開啟該TASK關聯的原始碼,並定位到修改過的程式碼行。當然如果該TASK已經Close了,也可以選擇Remove將其清空。

6、  jira中需要安裝的外掛jira中需要安裝的外掛,在jira管理—>外掛中,查詢並安裝該外掛


Jenkins中需要安裝以下幾個外掛

Jenins中有一個外掛需要通過手動下載並安裝

https://marvelution.atlassian.net/wiki/display/JJI/1.4.1

http://repository.marvelution.com/content/repositories/releases/com/marvelution/jira/plugins/jenkins-jira-plugin/1.4.1/


7、  在jira中配置

1)在jira中新增jenkins連線,先在jira管理—>外掛,新增應用程式連線


在輸入框中輸入Jenkins的URL,然後點選旁邊按鈕



點選“Continue”,填寫資訊


繼續點選“Continue”,則會出現下圖所示的連線資訊


之後點選"Edit",填寫jenkins的使用者名稱和密碼等資訊


2)在jira中配置jenkins


配置好後就應該可以看到jenkins的job了


8、  在Jenkins中配置,(這裡需要注意jira和jenkins如果是安裝在不同機器上,應該保證防火牆對兩個應用程式的埠是開放的)

在jenkins系統管理->系統配置


Jenkins中專案配置


二、流程

如果在jira中新建一個專案,裡面沒有任何bug,則執行jenkins構建的流程

1、先在Jira建立某個專案

2、測試開發人員提交程式碼到svn

3、執行Jenkins會發現在jira出現一個問題


4、測試開發人員在程式碼中關聯該issue,然後修復issue,再提交svn

5、之後jenkins重新再執行

  如果失敗,則jira會在該issue上備註一個失敗資訊;

  如果成功,則jira會在該issue上備註成功。我們可手動關閉該issue


6、當jenkins執行成功後,在jira中會在上個issue備註成功

   之後再次執行再碰到問題,才會自動再建立一個Bug,重複上面的步驟

   即:如果建立一個issue後,jenkins構建一直是失敗的,則不會建立新的issue,只會一直在之前的issue上備註再次失敗      

另外:如果想要在專案和bug中看到“CI Builds”資訊,必須在提交程式碼到SVN時,需要關聯該Bug,然後Jenkins執行後,才會看到“CI Builds”資訊


也可以在該專案中看到該“CI Builds”資訊



如果有另外的專案,該專案中存在手動建立一個task(也可能是bug)

1、則測試開發人員關聯該task,修改程式碼,之後提交到svn


2、自動觸發build,構建失敗,發現bug

3、則jenkins會在jira中建立一個新bug,即該bug是jenkins中的構建專案test、構建號#94建立的,test > #94


4、在task1裡會在Activity中顯示構建的情況,並且釋出ci build結果

檢視task的Activity記錄


檢視task的CI Builds記錄


注:上面手工建立的task,jenkins如果執行失敗,不會在該task中進行備註。只會有CI Builds和Activity的日誌

因為這個外掛不知道你選的那個是不是bug,而該外掛的任務就是在失敗的時候建立一個bug

除非是由這個外掛建立的bug,而且連續失敗他才會寫備註

注:參考一些其他大神文件,如有遇到相似,望各位大神諒解