精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Jira自動化實踐:基于Jenkins實現需求與代碼基線關聯

運維 系統運維 自動化
JIRA是Atlassian公司出品的項目與事務跟蹤工具,被廣泛應用于缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工作領域。

[[434986]]

一. Jira簡介

中文官網:https://www.atlassian.com/zh/software/jira

1.1 Jira可以做什么?

規劃

創建項目,用戶需求和事務、規劃 Sprint 并跨團隊分配開發任務。

跟蹤

全面了解項目進度情況,安排整個團隊工作的優先級排序并進行討論。

二. 安裝部署

2.1 數據中心版本

https://www.atlassian.com/zh/software/jira/pricing?tab=data-center 試用 

選擇歷史版本下載:

下載最新的LTS 長期支持版本:

選擇部署的環境:

開始下載Jira Software Server安裝程序:

2.2 安裝部署

  1. scp atlassian-jira-software-8.20.1-x64.bin  root@192.168.1.200:/opt/ 
  2.  
  3. ## 添加權限 
  4. [root@zeyang-nuc-service opt]# chmod +x atlassian-jira-software-8.20.1-x64.bin 
  5.  
  6.  
  7. ## 運行安裝程序 
  8. [root@zeyang-nuc-service opt]# ./atlassian-jira-software-8.20.1-x64.bin 
  9. Unpacking JRE ... 
  10. Starting Installer ... 
  11.  
  12. This will install Jira Software 8.20.1 on your computer. 
  13. OK [o, Enter], Cancel [c]      ## 回車 
  14.  
  15. Click Next to continueor Cancel to exit Setup. 
  16.  
  17. Choose the appropriate installation or upgrade option
  18. Please choose one of the following: 
  19. Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing Jira installation [3] 
  20.  
  21. ## 此處選擇自定義安裝,  輸入回車 
  22.  
  23. Select the folder where you would like Jira Software to be installed. 
  24. Where should Jira Software be installed? 
  25. [/opt/atlassian/jira] 
  26.  
  27. ## 選擇安裝目錄 
  28.  
  29.  
  30. Default location for Jira Software data 
  31. [/var/atlassian/application-data/jira] 
  32.  
  33. ## 選擇數據目錄 
  34.  
  35. Configure which ports Jira Software will use. 
  36. Jira requires two TCP ports that are not being used by any other 
  37. applications on this machine. The HTTP port is where you will access Jira 
  38. through your browser. The Control port is used to startup and shutdown Jira. 
  39. Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2] 
  40. 2   ## 輸入2  自定義服務端口 
  41. HTTP Port Number 
  42. [8071] 
  43. 8801 
  44. Control Port Number 
  45. [8077] 
  46. 8802 
  47.  
  48. ## 安裝服務 
  49. Jira can be run in the background. 
  50. You may choose to run Jira as a service, which means it will start 
  51. automatically whenever the computer restarts. 
  52. Install Jira as Service? 
  53. Yes [y, Enter], No [n] 
  54.  
  55.  
  56. Details on where Jira Software will be installed and the settings that will be used. 
  57. Installation Directory: /opt/atlassian/jira 
  58. Home Directory: /var/atlassian/application-data/jira 
  59. HTTP Port: 8801 
  60. RMI Port: 8802 
  61. Install as service: Yes 
  62. Install [i, Enter], Exit [e] 
  63.  
  64.  
  65. Extracting files ... 
  66.  
  67.  
  68. ## 啟動服務 
  69. Please wait a few moments while Jira Software is configured. 
  70.  
  71. Installation of Jira Software 8.20.1 is complete 
  72. Start Jira Software 8.20.1 now? 
  73. Yes [y, Enter], No [n] 
  74.  
  75. Please wait a few moments while Jira Software starts up. 
  76. Launching Jira Software ... 
  77.  
  78.  
  79.  
  80. Installation of Jira Software 8.20.1 is complete 
  81. Your installation of Jira Software 8.20.1 is now ready and can be accessed 
  82. via your browser. 
  83. Jira Software 8.20.1 can be accessed at http://localhost:8801 
  84. Finishing installation ... 

訪問:http://serverip:8801

2.3 初始化配置

獲取授權碼:

注冊賬號登錄:生成授權碼,激活實例;

三. Jira使用實踐

3.1 創建一個項目

注意:一個Jira 項目對應一個GitLab項目組;

3.2 為項目添加模塊

注意:一個Jira模塊對應一個GitLab項目;

3.3 配置WebHook系統, 網絡鉤子(webhook)

3.4 需求/任務管理

創建需求

這里在Jira上面把這個需求logging-error, 類型為故事 關聯到devops03-devops-service模塊;

3.5 發布Release

課程中把 發布對應為GitLab項目代碼庫中的版本分支;

issue關聯發布:可以想象成GitLab特性分支合并到版本分支;

四. Jira自動化實踐

工作流

工具鏈集成

4.1 需求與代碼關聯

1. 創建Jenkins作業并配置webhook

webhookData:這個變量存放的是Jira 傳遞的數據。

2. 為Jira配置一個系統級別的webhook

選項解釋:

  • 指定Jenkins的webhook觸發器地址;
  • 通過JQL指定,允許devops03這個項目進行觸發;
  • 勾選動作,觸發事件;(我在jira做了什么操作之后能夠觸發)

3. Jenkins流水線配置

解析Jira傳遞過來的數據;

  1. webhookData = readJSON text: "${webhookData}" 
  2.  
  3.  
  4. // Jira事件 
  5. jiraEvent = webhookData.webhookEvent 
  6. jiraProjectName = webhookData.issue.fields.project.name 
  7.  
  8. // 獲取gitlab參數 
  9. gitlabProjects = [] 
  10. gitlabBranchName = webhookData.issue.key 
  11. gitlabGroupName = jiraProjectName 
  12.  
  13. for (i in webhookData.issue.fields.components){ 
  14.     gitlabProjects.add(i["name"]) 
  15.  
  16. currentBuild.description = "Trigger by ${jiraEvent} \n project: ${gitlabProjects} \n branch: ${gitlabBranchName}" 

封裝GitLab API接口

https://docs.gitlab.com/ee/api/branches.html#create-repository-branch

  1. // 創建分支 
  2. def CreateBranch(projectId, newBranchName, sourceBranchName){ 
  3.     try { 
  4.         apiUrl = "projects/${projectId}/repository/branches?branch=${newBranchName}&ref=${sourceBranchName}" 
  5.         response = HttpReq('POST', apiUrl, ""
  6.     } 
  7.     catch(Exception e) { 
  8.         println(e) 
  9.          
  10.     } 
  11.  
  12. // 獲取所有項目的id 
  13. def GetProjectsId(gitlabGroupName, gitlabProjects){ 
  14.     gitlabProjectIds = [] 
  15.     for (project in gitlabProjects){ 
  16.         id = GetProjectId(gitlabGroupName, project) 
  17.         println(id) 
  18.         if (id != 0){ 
  19.             gitlabProjectIds.add(id) 
  20.         } 
  21.     } 
  22.     return gitlabProjectIds 
  23.  
  24. // 根據項目名稱獲取項目id 
  25. def GetProjectId(groupName, projectName){ 
  26.     apiUrl = "projects?search=${projectName}" 
  27.     response = HttpReq('GET', apiUrl, ""
  28.     response = readJSON text: response.content - "\n" 
  29.  
  30.     if (response.size() > 1){ 
  31.         for (i in response){ 
  32.             println(i["path_with_namespace"]) 
  33.             println(groupName + projectName) 
  34.             if (i["path_with_namespace"] == "${groupName}/${projectName}"){ 
  35.                 println(i["id"]) 
  36.                 return i["id"
  37.             } 
  38.         } 
  39.     } else { 
  40.         return response[0]["id"
  41.     } 
  42.  
  43.  
  44. // 封裝HTTP 
  45. def HttpReq(reqType, reqUrl,reqBody ){ 
  46.     def gitServer = "http://192.168.1.200/api/v4" 
  47.     withCredentials([string(credentialsId: '058b7907-ebe2-4d14-9b91-1ac72e071c59', variable: 'GITLABTOKEN')]) { 
  48.         response = httpRequest acceptType: 'APPLICATION_JSON_UTF8',  
  49.                           consoleLogResponseBody: true,  
  50.                           contentType: 'APPLICATION_JSON_UTF8',  
  51.                           customHeaders: [[maskValue: falsename'PRIVATE-TOKEN', value: "${GITLABTOKEN}"]],  
  52.                           httpMode: "${reqType}",  
  53.                           url: "${gitServer}/${reqUrl}",  
  54.                           wrapAsMultipart: false
  55.                           requestBody: "${reqBody}" 
  56.  
  57.     } 
  58.     return response 

Pipeline主程序

  1. pipeline { 
  2.     agent { label "build" } 
  3.  
  4.     stages{ 
  5.         stage("Process"){ 
  6.             steps{ 
  7.                 script{ 
  8.                     println(gitlabProjects) 
  9.                     println(gitlabBranchName) 
  10.                     projectIds = GetProjectsId(gitlabGroupName, gitlabProjects) 
  11.                     switch(jiraEvent) { 
  12.                         case "jira:issue_created"
  13.                             println(projectIds) 
  14.                             for (id in projectIds){ 
  15.                                 CreateBranch(id, gitlabBranchName, "master"
  16.                             } 
  17.                             break 
  18.                         default
  19.                             println("error..."
  20.                             break 
  21.                     } 
  22.                 } 
  23.             } 
  24.         } 
  25.     } 

4. 效果驗證

在Jira里面創建一個模塊和issue, 關聯項目;

Jenkins 流水線運行;

驗證Gitlab中多了分支;

 

責任編輯:姜華 來源: DevOps云學堂
相關推薦

2021-04-13 06:15:37

開源部署流水線Jenkins

2017-09-06 16:08:45

JmeterJenkins自動化測試

2021-02-25 07:10:57

SonarQube代碼掃描代碼基線

2025-02-13 07:58:21

CI/CDJenkinsGitLab

2015-05-25 19:34:06

KickstartCentOS

2015-10-08 10:55:23

云服務自動化運維 ANSIBLE

2021-09-07 09:00:00

開發測試工具

2023-06-30 09:46:00

服務物理機自動化

2023-07-26 18:38:17

Json提效全量

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2023-04-06 07:09:25

自動化部署Actions

2021-03-18 14:47:42

Jenkins git submodu代碼

2023-03-29 08:33:03

倉儲自動化系統

2015-10-20 17:12:58

SuSE自動化運維運維

2023-11-15 18:02:52

2024-03-05 09:39:03

Zadig版本管理版本

2022-08-26 09:51:33

Web前端自動化

2025-06-20 02:11:00

2022-02-21 11:24:14

代碼工具開發

2013-11-27 11:34:43

自動化部署Python
點贊
收藏

51CTO技術棧公眾號

嫩草研究院在线| 今天免费高清在线观看国语| 国产美女网站视频| 91白丝在线| 国产视频一区二区三区在线观看 | 国产日本欧美一区二区三区在线| 日本少妇色视频| 欧美性aaa| 亚洲一区欧美一区| 亚洲高清视频一区| 国产喷水吹潮视频www| 一本色道久久| 久久婷婷国产麻豆91天堂| 久久久久无码精品| 免费在线观看一区| 午夜精彩视频在线观看不卡| 中文字幕一区综合| 国产永久av在线| 国产成人精品亚洲777人妖| 国产成人精品在线观看| 极品日韩久久| 国产精品一区二区av白丝下载 | 国产aaaaa毛片| 欧美人与禽性xxxxx杂性| 国产视频一区在线播放| 国产一区精品视频| 91精品在线观看视频| 国语对白做受xxxxx在线中国| 国产无套粉嫩白浆在线2022年| 午夜国产一区| 91色porny在线视频| 国产成人拍精品视频午夜网站| 久久久美女视频| 美日韩中文字幕| 91精品国产入口| 成年人黄色在线观看| 久久手机免费观看| 99久久伊人久久99| 国产精品99久久久久久久| 中文字幕永久在线视频| 在线观看日本中文字幕| 性欧美xxx69hd高清| 激情欧美一区二区三区在线观看| 麻豆乱码国产一区二区三区| www.av欧美| 一级毛片视频在线| 国产精品另类一区| 亚洲乱码国产乱码精品天美传媒| 国产在线中文字幕| 国产亚洲自拍一区| 高清在线不卡av| 一本色道久久综合亚洲精品小说 | 日韩综合一区| 亚洲第一天堂av| 亚洲三区四区| 三级无遮挡在线观看| 国产激情精品久久久第一区二区| 日韩精品高清在线| 一级特黄a大片免费| www.亚洲一二| 亚洲国产小视频在线观看| 亚洲图片综合网| 色愁久久久久久| 国产小视频国产精品| 国产又黄又粗视频| 国产精品久久久久久69| 爱福利在线视频| 亚洲精品综合在线| 欧美一区二区大胆人体摄影专业网站| 日韩a级片在线观看| 午夜视频精品| 久久精品美女视频网站| 成人在线电影网站| 一本久久青青| 中文字幕免费国产精品| 国产一级片中文字幕| 国产电影一区| 亚洲成人性视频| 美女久久久久久久久久| 日韩欧美国产精品综合嫩v| www.久久撸.com| 精品少妇theporn| 亚欧成人精品| 91在线观看免费高清| 日本亚洲欧洲色α| 久久久国产精品久久久| 麻豆影视国产在线观看| 日本不卡一区二区| 国产自产女人91一区在线观看| 久久久精品91| 香蕉av777xxx色综合一区| 操日韩av在线电影| 欧美高清视频一区二区三区| 亚洲精品孕妇| 亚洲人成电影网站| 男人与禽猛交狂配| 欧美少妇激情| 亚洲成年网站在线观看| 蜜桃传媒一区二区亚洲| 欧美午夜不卡| 国产精品色悠悠| 欧美一级免费片| 国产精品看片你懂得| 夜夜躁日日躁狠狠久久88av| 欧美日韩在线看| 国产综合免费视频| 国产激情一区| 日韩av在线导航| 丰腴饱满的极品熟妇| 亚洲人体av| 欧美mv和日韩mv的网站| 欧美性猛交xx| 电影亚洲一区| 亚洲国产日韩a在线播放性色| 欧美日韩国产免费一区二区三区| 日本免费中文字幕在线| 五月天欧美精品| 国内av免费观看| 日韩一区欧美| 欧日韩在线观看| 欧美77777| 亚洲精品视频在线| 国产精品自拍偷拍| 五月天婷婷亚洲| 精品自拍视频| 欧美精品成人一区二区三区四区| 亚洲影视中文字幕| 免费动漫网站在线观看| 一区二区三区四区视频精品免费| 成人免费观看cn| 精品一区二区三区中文字幕视频| 亚洲色图校园春色| 国精产品一区一区二区三区mba| 欧美.www| 3d动漫啪啪精品一区二区免费| 成人动漫在线播放| 亚洲aaa精品| 国产成人无码精品久久久性色| 日韩中文字幕一区二区高清99| 中文字幕综合一区| 最近中文字幕在线观看| 久久精品一二三| 成人在线看视频| 蜜桃av.com| 欧美大奶一区二区| 欧美激情在线狂野欧美精品| 一级特黄aaa大片| 成人综合在线网站| 国产98在线|日韩| 国产无遮挡aaa片爽爽| 亚洲欧美久久久| 国产欧美日韩亚洲| 免费高清完整在线观看| 欧美日韩一区二区在线观看 | 国产精品videossex| 亚洲欧美日韩视频一区| 欧美成人免费观看视频| 日本亚洲视频在线| 三级三级久久三级久久18| a成人v在线| www国产亚洲精品久久网站| 永久免费看黄网站| 国产91精品欧美| 男女超爽视频免费播放| 乱中年女人伦av一区二区| 成人黄色在线视频| 欧美国产日韩一区二区三区| www.亚洲天堂.com| 99re视频精品| 国产成人精品无码播放| 9l视频自拍九色9l视频成人| 97精品国产91久久久久久| 少妇人妻偷人精品一区二区| 亚洲国产欧美一区二区三区丁香婷| 中文字幕天堂av| 免费在线观看成人av| 涩涩涩999| 日韩精品一级| 91精品国产网站| 男女污污视频在线观看| 91久久精品日日躁夜夜躁欧美| 在线一区高清| 蜜桃视频成人m3u8| 理论片在线不卡免费观看| 丰满人妻一区二区| 在线免费不卡视频| 日韩激情综合网| 91免费版在线看| 在线观看国产一级片| 欧美日韩网址| 日本精品一区| 久久手机免费观看| 美洲天堂一区二卡三卡四卡视频| 久久久久久国产精品一区| 欧美日韩亚洲国产| 久久久久久久久久久网站| 免费a级毛片在线观看| 国产精品电影院| 深夜视频在线观看| 巨乳诱惑日韩免费av| 日韩国产精品毛片| 深爱激情久久| 97se在线视频| 色综合桃花网| 久久精品国产精品| 男女污视频在线观看| 日韩精品中午字幕| 五月激情丁香网| 高潮精品一区videoshd| 一区二区三区 日韩| 99精品国产99久久久久久福利| 亚洲午夜高清视频| 亚洲第一福利社区| 91免费看网站| 啪啪av大全导航福利综合导航| 中文字幕亚洲精品乱码| 国产精品一区二区久久国产| 四季久久免费一区二区三区四区| 一区二区三区久久精品| 日韩一区二区三区不卡| 在线看日本不卡| 800av免费在线观看| 91免费国产在线| 欧产日产国产精品98| 久久国产人妖系列| 欧美 国产 小说 另类| 午夜久久黄色| 美日韩免费视频| 91精品国产乱码久久久久| 91久色porny| 夫妻免费无码v看片| 欧美午夜18电影| 国产日韩精品推荐| 999久久精品| www.成人av| 日本一区二区三区播放| 91亚洲午夜在线| 九九99久久精品在免费线bt| 亚洲影音先锋| 蜜桃久久影院| 久久中文字幕导航| 久久成年人免费电影| 中文字幕理论片| 都市激情亚洲色图| 国产精品夜夜夜爽阿娇| 国产精品69毛片高清亚洲| 久久6免费视频| 美女精品自拍一二三四| 91小视频网站| 美女视频黄 久久| 欧美婷婷精品激情| 亚洲影院一区| 爆乳熟妇一区二区三区霸乳| 日本午夜一区二区| www.-级毛片线天内射视视| 青青草原综合久久大伊人精品| 欧美深深色噜噜狠狠yyy| 欧美理伦片在线播放| 久久久久天天天天| 国产一区二区三区四区五区| 国产综合第一页| 亚洲制服欧美另类| 亚洲一级在线观看| 欧美午夜一区二区| 亚洲一区二区免费| 波多野结衣办公室双飞| 在线观看色网站| 91精品导航| 久久久久久久综合日本| 日韩欧美成人一区| 久久九九免费视频| 国产成人永久免费视频| 久久高清内射无套| 日韩精品三级| 国产成人综合网站| 精品久久久久久久久久久久久久久 | 在线观看17c| 亚洲xxxx3d动漫| 成人短视频在线| 欧美gay男男猛男无套| 天天综合网网欲色| 亚洲精品国产无天堂网2021| 久久久久久欧美| 少妇人妻互换不带套| 国产男女无套免费网站| 九九热hot精品视频在线播放| 久久久久久夜精品精品免费| 欧美裸体xxxx极品少妇| 亚洲狼人综合干| 日本国产在线观看| 欧美三级不卡| 欧美中文高清| 亚洲三级在线播放| 久久91精品国产91久久跳| 情侣黄网站免费看| 韩国三级在线观看久| 久久中文精品| 亚洲午夜未满十八勿入免费观看全集| 成人免费观看cn| 暖暖在线中文免费日本| 国内成+人亚洲+欧美+综合在线| 日韩电视剧免费观看网站| 欧美日韩一区二| 国产精品老女人| 成人情趣视频网站| 精品久久久久久久久久久久久久久久久 | 3d欧美精品动漫xxxx无尽| 久久久精品免费观看| 91啪国产在线| 日韩一级片大全| 麻豆精品一区| 亚洲激情综合网| 国产伦视频一区二区三区| 亚洲av鲁丝一区二区三区| 亚洲精品一区二区三区中文字幕| 亚洲国产精品影院| 欧美最大成人综合网| 一本一道人人妻人人妻αv| 99在线精品视频在线观看| 正在播放欧美一区| 日本黄色三级网站| 欧美gay囗交囗交| 一区二区电影免费观看| 国产高清一区日本| 国产精品99久久99久久久二8| 女教师淫辱の教室蜜臀av软件| 精品久久福利| 中文字幕亚洲不卡| 国产精品福利视频| 亚洲精品一区二区二区| 亚洲毛片视频| www.日韩欧美| 日本免费www| 啪啪激情综合网| 色综合久久中文字幕综合网| 欧美亚洲色图视频| 天天射天天操天天干| 国产在线视频精品一区| 国产精品999999| 中文字幕免费高清网站| 亚洲一区 二区 三区| 这里只有视频精品| 粉嫩精品久久99综合一区| 国产精品亚洲二区| 91精品国产美女浴室洗澡无遮挡| 一级在线免费视频| 中文字幕在线看片| 91福利精品视频| 免费看涩涩视频| 天堂精品久久久久| 日韩欧美中文字幕制服| www.超碰97| 热色播在线视频| 激情深爱一区二区| 韩国成人一区| 风间由美一区| 国产精品久久久久桃色tv| 中文字幕日韩一区二区三区 | 久久国产欧美日韩精品| 日本aⅴ大伊香蕉精品视频| 成年人一级黄色片| 欧美日韩国产综合网| 2024亚洲男人天堂| 97人妻精品一区二区三区| 东方欧美亚洲色图在线| 国产精品制服诱惑| 97caocao| 亚洲欧美网站| 91深夜福利视频| 美丽的姑娘在线观看免费动漫| 国产精品久久久久久久久搜平片| 成人免费毛片在线观看| 日韩国产激情| 日韩电影在线观看中文字幕| 欧美国产日韩综合| 蜜桃精品视频在线| 视频在线一区二区三区| 免费成人在线电影| 精品国产乱码久久久久久影片| 丰满的亚洲女人毛茸茸| 六月丁香色婷婷| 一区二区视频在线| 911福利视频| 欧美xxxxx视频| 国产免费一区视频观看免费 | 青青国产91久久久久久| 国产日本欧美一区二区三区在线| 国产区高清在线| 亚洲成人综合网站| 西西大胆午夜视频| 丝袜a∨在线一区二区三区不卡 | 亚洲视频免费播放| 国产91富婆露脸刺激对白| 亚洲人体一区| 成人免费网站www网站高清| 亚洲黄色av网站| 国产精品免费精品一区| 中文欧美字幕免费| 国产三级三级三级看三级| 亚洲ab电影|