久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

DevOps的技術(shù)和工具有哪些?

工具及流程概覽

我們的 DevOps 工具鏈有 Jira, Gitlab, 時(shí)速云 DevOps 平臺(tái),Sonarqube, TestLink, Harbor

  • Jira: 項(xiàng)目管理;
  • Gitlab: 代碼托管、在線 Review;
  • 時(shí)速云 DevOps 平臺(tái):基于 Kubernetes 的代碼拉取,編譯,代碼掃描,單元測(cè)試,打包,構(gòu)建鏡像、持續(xù)部署,審批,郵件;
  • Sonarqube:代碼靜態(tài)掃描;
  • TestLink: 測(cè)試管理;
  • Harbor: 鏡像托管,鏡像安全掃描;

流程如下:

DevOps的技術(shù)和工具有哪些?

實(shí)踐說(shuō)明

1 需求/缺陷管理

需求和缺陷管理我們使用功能強(qiáng)大的 Jira 工具,以兩周一迭代方式進(jìn)行敏捷式開(kāi)發(fā)。

DevOps的技術(shù)和工具有哪些?

2 代碼 Review/Merge

聊天工具集成 gitlab,PR 提交后 Reviewer 及時(shí)看到提交信息,進(jìn)行 Review 和Merge。

DevOps的技術(shù)和工具有哪些?

3 Gitlab觸發(fā)自動(dòng)化構(gòu)建

時(shí)速云 DevOps 平臺(tái)自動(dòng)生成 Gitlab 項(xiàng)目的 webhook, 當(dāng) gitlab 有事件發(fā)生,把事件信息發(fā)送到時(shí)速云 DevOps 平臺(tái),時(shí)速云 DevOps 平臺(tái)根據(jù)條件觸發(fā)自動(dòng)執(zhí)行構(gòu)建。

DevOps的技術(shù)和工具有哪些?

DevOps的技術(shù)和工具有哪些?

4 時(shí)速云 DevOps 平臺(tái)

4.1 流程簡(jiǎn)介

時(shí)速云 DevOps 平臺(tái)基于 Kubernetes 和 Docker 運(yùn)行具體任務(wù),由 Kubernetes 調(diào)度、執(zhí)行完后銷毀。每一個(gè)任務(wù)模板最終生成 Kubernetes 的 Job,Job 會(huì)生成 Pod 運(yùn)行任務(wù), 并管理生命周期。

DevOps的技術(shù)和工具有哪些?
DevOps的技術(shù)和工具有哪些?

每個(gè)任務(wù)模板鏡像都有為自身任務(wù)的最小化工具。比如 maven 任務(wù)鏡像只有 maven 客戶端命令工具,容器被 job 生成時(shí),會(huì)通過(guò)進(jìn)入點(diǎn)運(yùn)行 maven 命令,運(yùn)行結(jié)束后將結(jié)束容器。代碼掃描任務(wù)會(huì)有 sonar-scanner 客戶端工具,Docker 構(gòu)建任務(wù)可以運(yùn)行Docker build 命令構(gòu)建鏡像和 Push 鏡像到 Harbor。

鏡像推送到 Harbor 后會(huì)使用平臺(tái)持續(xù)部署任務(wù)模板更新服務(wù)。

DevOps的技術(shù)和工具有哪些?

DevOps的技術(shù)和工具有哪些?

持續(xù)部署成功后服務(wù)會(huì)被升級(jí)到最新版本。

4.2 任務(wù)模板

時(shí)速云 DevOps 平臺(tái)的任務(wù)模板是為執(zhí)行任務(wù)的鏡像和數(shù)據(jù)集合。

sonar 掃描任務(wù)為例,sonar 掃描任務(wù)執(zhí)行就是容器化運(yùn)行 sonar-scanner。

下圖為 sonar 掃描任務(wù)的 Dockerfile, 就是把代碼和 sonar 掃描配置文件拷貝到指定目錄,運(yùn)行 sonar-scanner 命令。

DevOps的技術(shù)和工具有哪些?

執(zhí)行結(jié)果以 Rest API 方式發(fā)送到平臺(tái),平臺(tái)記錄執(zhí)行結(jié)果,并根據(jù)設(shè)置執(zhí)行下一步任務(wù)或失敗退出。

5 集成測(cè)試

測(cè)試有測(cè)試用例,測(cè)試用例有測(cè)試結(jié)果,如果測(cè)試結(jié)果與期待結(jié)果不符,同步到 Jira, 再執(zhí)行編碼的步驟,形成一個(gè)閉環(huán)。

測(cè)試用例和測(cè)試版本的測(cè)試結(jié)果使用TestLink工具管理。

DevOps的技術(shù)和工具有哪些?
集成測(cè)試是人工測(cè)試和基于 Selenium 的 python 腳本的自動(dòng)化測(cè)試共同完成。
DevOps的技術(shù)和工具有哪些?

6 Harbor 同步

測(cè)試人員進(jìn)行測(cè)試通過(guò)以后,使用 Harbor 鏡像同步功能,同步到運(yùn)維環(huán)境 Harbor。

DevOps的技術(shù)和工具有哪些?

7 Harbor 鏡像更新后通過(guò)觸發(fā)設(shè)置觸發(fā)執(zhí)行部署任務(wù)

harbor的common/config/registry/config.yml設(shè)置notification屬性為時(shí)速云 DevOps 平臺(tái) webhook 地址和認(rèn)證方式,時(shí)速云 DevOps 平臺(tái)可以根據(jù) payload 信息觸發(fā)執(zhí)行 CI/CD。

DevOps的技術(shù)和工具有哪些?

DevOps的技術(shù)和工具有哪些?

8 部署運(yùn)維服務(wù)

時(shí)速云 DevOps 平臺(tái)被觸發(fā)執(zhí)行后,與上面部署一樣會(huì)根據(jù)新的鏡像更新部署新的服務(wù)。

9 自動(dòng)標(biāo)記 Jira

集成測(cè)試結(jié)束以后,通過(guò) Jira API , 把 gitlab 中的大括號(hào)里相應(yīng)的 Jira issue 為關(guān)閉狀態(tài),添加部署版本說(shuō)明。

DevOps的技術(shù)和工具有哪些?

10 保障代碼和最終交付產(chǎn)物的源頭一致性

如下圖,在代碼構(gòu)建時(shí)把代碼的版本信息一同寫入鏡像可以做到最終交付產(chǎn)物和代碼源頭的一致性比較。

git rev-parse --shortHEAD > .gitversion

git log--pretty=oneline HEAD...$PREVIOUS_COMMIT_ID > .gitdiff

DevOps的技術(shù)和工具有哪些?

作者:時(shí)速云
鏈接:https://www.zhihu.com/question/462977053/answer/1922306293

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 隆林| 临洮县| 府谷县| 苗栗县| 宜都市| 榆树市| 靖宇县| 新闻| 农安县| 故城县| 庆安县| 莱州市| 三门县| 突泉县| 贵州省| 滁州市| 梁河县| 东宁县| 公主岭市| 桃江县| 三门峡市| 宁陵县| 涡阳县| 常州市| 化德县| 岐山县| 斗六市| 大渡口区| 隆化县| 和平县| 大余县| 凯里市| 靖远县| 札达县| 开化县| 泰和县| 三门县| 东丰县| 龙游县| 乌兰县| 那坡县|