成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DevOps平臺之開源技術圖譜

新聞 開源
DevOps平臺在研發過程中,集成了許多的第三方工具來完善持續集成的流程,諸如Jira、Gitlab、Jenkins等,集成一個工具其實是一個繁瑣的工作,需要注意到許多的細節,那么我們又是怎么做的呢?

 [[273733]]

引言:

DevOps平臺在研發過程中,集成了許多的第三方工具來完善持續集成的流程,諸如Jira、Gitlab、Jenkins等,集成一個工具其實是一個繁瑣的工作,需要注意到許多的細節,那么我們又是怎么做的呢?本文就是介紹一下我們是如何將這些工具集成到DevOps平臺中去的。

目錄:

1.DevOps平臺第三方服務集成概覽

2.DevOps平臺第三方服務集成思路

3.DevOps平臺第三方服務集成示例

1.DevOps平臺第三方服務集成概覽

說明:DevOps平臺所有集成的第三方服務信息都保存在平臺管理的服務集成頁面,如下圖展示:

DevOps平臺之開源技術圖譜

1、介質服務器

DevOps平臺采用的介質服務器類型為NEXUS,NEXUS是一個強大的maven倉庫管理器,它極大的簡化了本地內部倉庫的維護和外部倉庫的訪問。

DevOps平臺之開源技術圖譜

2、構建引擎

DevOps平臺采用的構建引擎類型為Jenkins,Jenkins是一個開源軟件項目,是基于Java開發的一種持續集成工具,用于監控持續重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。

Jenkins是DevOps平臺很重要的一個組成部分,CICD就靠Jenkins來實現,用戶可以在DevOps平臺創建一個構建定義、配置好需要的任務如maven構建,還可配置定期執行或觸發執行該構建任務,將用戶從繁瑣的構建工作中解脫出來。

DevOps平臺之開源技術圖譜

3、部署引擎

DevOps平臺采用的部署引擎類型與構建引擎同為Jenkins。

4、質量分析服務器

DevOps平臺采用的質量分析服務器為SonarQube,SonarQube 是一個用于代碼質量管理的開源平臺,用于管理源代碼的質量。通過插件形式,可以支持包括java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy等等二十幾種編程語言的代碼質量管理與檢測。

DevOps平臺之開源技術圖譜

5、項目管理服務器

DevOps平臺的項目管理我們采用的是Jira和Zentao這兩個專業化的工具,依靠這兩個工具支持起了DevOps平臺的項目管理、概覽和任務三大模塊,用戶可以很便捷的在DevOps平臺查看編輯項目的基本信息、新建一個迭代和查找指派給自己的需求任務bug,提高工作效率。

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

DevOps平臺之開源技術圖譜

Zentao 是國產的開源項目管理軟件,專注研發項目管理,內置需求管理、任務管理、bug管理、缺陷管理、用例管理、計劃發布等功能,實現了軟件的完整生命周期管理。

6、容器云服務器

DevOps平臺集成的容器云服務器類型為k8s。

容器云以容器為資源分割和調度的基本單位,封裝整個軟件運行時環境,為開發者和系統管理員提供用于構建,發布和運行分布式應用的平臺。

DevOps平臺之開源技術圖譜

7、鏡像服務器

DevOps集成的鏡像服務器類型為Harbor。

Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器,通過添加一些企業必需的功能特性,例如安全、標識和管理等,擴展了開源Docker Distribution。作為一個企業級私有Registry服務器,Harbor提供了更好的性能和安全。提升用戶使用Registry構建和運行環境傳輸鏡像的效率。Harbor支持安裝在多個Registry節點的鏡像資源復制,鏡像全部保存在私有Registry中,確保數據和知識產權在公司內部網絡中管控。另外,Harbor也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等。

DevOps平臺之開源技術圖譜

8、代碼服務器

DevOps采用了Gitlab、Github和Svn作為代碼的管理工具,支撐起了平臺的代碼模塊,用戶的項目相關代碼都可以存儲在以上三種工具中并關連到DevOps平臺的相應項目里,方便用戶查看對比代碼,也為后續的CICD提供了便利。

GitLab是由GitLabInc.開發,使用MIT許可證的基于網絡的Git倉庫管理工具,且具有wiki和issue跟蹤功能。使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務。

GitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名GitHub。

SVN是subversion的縮寫,是一個開放源代碼的版本控制系統,通過采用分支管理系統的高效管理,簡而言之就是用于多個人共同開發同一個項目,實現共享資源,實現最終集中式的管理。

DevOps平臺之開源技術圖譜

9、文檔服務器

Confluence服務器的存在使得整個項目生產過程中的文檔有了一個集中存儲的地方,方便管理。

Confluence為團隊提供一個協作環境。在這里,團隊成員齊心協力,各擅其能,協同地編寫文檔和管理項目。從此打破不同團隊、不同部門以及個人之間信息孤島的僵局,Confluence真正實現了組織資源共享。

DevOps平臺之開源技術圖譜

2.DevOps平臺第三方服務集成思路

1、數據實體的對應

DevOps平臺有屬于自己的模板,比如工作項模板、迭代模板等,這就要求在集成第三方服務的時候要將獲得的數據映射到DevOps模板中去再做展示,舉例說,DevOps平臺在集成Zentao作為項目管理工具的時候,有bug、story、task三張表,而DevOps平臺只有Workitem一張表,那么我們就要將3張表的數據想辦法轉換到1張表中,這個過程肯定會存在概念無法對應的問題,解決思路要么就是用相近的概念替換,或者剔除掉多余的概念,總之,還是要以DevOps平臺的模板為主;

2、API接口的調用

有些時候,第三方服務提供出來的api接口難以操作,或者存在接口錯誤的情況,此時我們就要轉換思路,廢棄使用api接口改為直接操作數據也許是一個好的解決方案;

拿Gitlab來說,Gitlab至今已經出了12版本,使用的api版本也已經到了v4,若我們還是使用Gitlab8的v3版api調用Gitlab12的接口是會出現問題的。

3.DevOps平臺第三方服務集成示例

1、Gitlab集成

DevOps平臺集成Gitlab過程大體可以分為以上3個步驟,先要做的是了解Gitlab的api接口,看一下身份認證方式是通過token還是session等,Gitlab的接口有很多我們是不需要的,此時我們就需要看DevOps模板需要哪些,不需要哪些,將需要的接口整理出來,并研究它們的QueryParam和Body的格式,驗證接口是否可以正確調通,接口通了,我們得到了需要的數據,但是數據格式跟DevOps的模板不符,我們就要進行最后一步,將所得數據映射到DevOps模板就大功告成了。

1 )研究GitlabAPI接口

GitlabAPI接口我們可以直接從官網的相關文檔查閱,按照官方的說明,自GitLab 9.0起,API V4是首選使用的版本。2017年8月22日發布的GitLab 9.5不支持API V3。在GitLab 11.0中刪除了API v3 ,就是說11版本起Gitlab不再支持v3版本的api,所以我們在集成Gitlab的時候就要考慮集成兩個版本的API。

DevOps平臺之開源技術圖譜

2 )篩選DevOps平臺所需的接口

DevOps平臺集成Gitlab僅需要應用到Gitlab的部分接口,如代碼庫的增刪改查,分支、標簽的增刪改查等,過濾去無用的接口,并以查詢分支接口舉例。

可見,該請求的身份認證方式是通過token實現的,返回的數據格式如圖顯示:

DevOps平臺之開源技術圖譜

而DevOps代碼分支模板如下圖展示,所以要再做一次映射:

DevOps平臺之開源技術圖譜

3 )將返回數據填入DevOps模板并展示

此為集成成功后的Gitlab代碼庫在DevOps平臺中的展示界面,用戶可以在此查看代碼庫的文件內容,分支、標簽信息,也可以對比不同分支或標簽的差異:

2、Zentao集成

因為Zentao的接口設計比較特殊,在使用它的api接口來實現集成時遇到了種種問題,故改用了直接操作Zentao數據庫來實現服務集成的方法。大體步驟是先研究Zentao的表結構,然后與DevOps相應表做對照,然后做DevOps服務端多數據源實現,直接從Zentao數據庫讀取數據,映射到DevOps的模板并展示給用戶。

1 )研究Zentao表結構&將Zentao表數據映射至DevOps模板

以Zentao的zt_story表舉例,如圖是禪道的需求表結構:

DevOps平臺之開源技術圖譜

下圖是DevOps工作項模板:

DevOps平臺之開源技術圖譜

要想在DevOps平臺中展示Zentao的需求信息,還要做一次數據映射,集成時,需要先設計DevOps平臺的服務端多數據源實現,就是定義一個Zentao的Dao實現,同時,Zentao的數據庫需要用戶來配置,解決方案1:用戶可以在配置文件中配置Zentao的數據庫地址以及賬號密碼;解決方案2:用戶可以在服務集成處配置Zentao的數據庫信息;兩種方式的Dao層實現也是有差異的。下面展示方案1的ZentaoDao部分實現:

DevOps平臺之開源技術圖譜

2 )數據展示

成功集成后的任務模塊展示如圖,用戶可以在該界面進行任務、需求、bug的增刪改查

DevOps平臺之開源技術圖譜

4.總結

在集成一個第三方工具時,關注點無非就是如何調用API接口以及將得到的返回結果如何展示,除非API接口調用行不通,才會考慮做一個數據庫的集成,在做數據庫集成的時候還要小心再小心,如果存在關聯表情況,可能會導致第三方工具的某些功能無法使用,還有當api接口訪問不成功時,首先要確認請求的body是否符合該接口的規范,若body沒問題,再考慮一下api接口的版本是否跟第三方工具的版本匹配,總之,集成并不是一個很難的事情,只要思路明確,耐心細心,總會成功。

責任編輯:張燕妮 來源: EAWorld
相關推薦

2022-10-24 09:42:31

2025-04-03 08:37:05

2016-12-20 15:56:57

大數據行業底層基礎平臺大數據技術

2016-11-11 20:58:19

數據行業底層基礎平臺Hadoop

2023-02-09 08:00:37

DevOps工具建木

2023-01-19 08:55:58

DevOps技能平臺

2024-05-15 08:00:00

DevOps平臺工程

2021-10-22 09:48:22

谷歌開源技術

2022-11-18 10:52:30

平臺工程DevOps

2023-10-10 10:27:37

DevOps

2021-03-06 08:05:54

工具DevOpsLighthouse

2022-02-18 16:28:19

VR/AR交互互聯網

2011-09-02 09:42:04

.NET平臺

2011-06-08 14:24:20

JVM Qt QtJambi

2020-10-28 15:34:22

開源LinuxDevOps

2015-05-26 09:15:14

開源PaaS 云平臺Cloud Found

2021-08-10 09:48:43

DevOps運維軟件

2024-05-16 08:23:26

大語言模型知識圖譜人工智能

2015-01-04 09:30:32

云計算Docker容器技術

2020-07-27 09:50:52

云原生圖譜
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久三级 | 91麻豆产精品久久久久久夏晴子 | 中文字幕av色 | 欧美一级片在线观看 | 在线观看视频中文字幕 | 在线免费看毛片 | 亚洲视频二区 | 毛片久久久 | 日韩中文一区 | 亚洲成人一区二区在线 | 国内自拍偷拍 | 亚洲成人动漫在线观看 | 97日韩精品 | 亚洲免费观看视频 | 国产aⅴ爽av久久久久久久 | 久久9999久久 | 国产一区二区自拍 | 成人午夜精品 | av一二三区 | 欧美一级欧美三级在线观看 | 午夜影院在线观看免费 | 久久最新| 国产乱码精品一品二品 | 一区二区av| 色综合视频 | 天堂男人av | 亚洲一区二区在线播放 | 亚洲精品一二三区 | 久久亚洲免费 | 黄色激情毛片 | 日本成人综合 | 日本免费一区二区三区 | 亚洲人一区 | 精品乱码一区二区三四区视频 | www.日韩 | 色爱综合网| av日韩一区 | 久久精品中文字幕 | 成人性视频免费网站 | 亚洲a在线视频 | av日韩在线播放 |