国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

什么是持續集成(CI)/持續交付(CD)管道?

譯文
開發 前端
持續集成(CI)/持續交付(CD)管道是一系列步驟,其中包括從CI/CD流程開始的所有階段,并負責創建自動化和無縫的軟件交付。而使用CI/CD管道,軟件發布工件可以從代碼檢入階段到測試、構建、部署和生產階段一直在管道中前進。

【51CTO.com快譯】持續集成(CI)/持續交付(CD)管道是一系列步驟,其中包括從CI/CD流程開始的所有階段,并負責創建自動化和無縫的軟件交付。而使用CI/CD管道,軟件發布工件可以從代碼檢入階段到測試、構建、部署和生產階段一直在管道中前進。這一概念之所以強大,是因為一旦指定了管道,就可以將其部分或全部實現自動化,從而加快了流程,并減少了錯誤。換句話說,CI/CD管道使組織每天更輕松地自動多次交付軟件。

DevOps工程師往往會因為CI/CD中各個階段的自動化而與CI/CD管道混淆。雖然不同的工具可以使CI/CD中的各個復雜階段實現自動化,但由于人工干預,CI/CD的整個軟件供應鏈仍然可能被中斷。以下將探討持續集成(CI)/持續交付(CD)流程的各個階段,以及為什么CI/CD管道對于組織以快速和大規模的方式交付代碼至關重要的原因。

CI/CD階段:了解人員、流程和技術

組織應用程序開發團隊通常由開發人員、測試人員/質量保證(QA)工程師、運營工程師和站點可靠性工程師(SRE)或IT運營團隊組成。他們緊密合作,將高質量的軟件交付到客戶手中。持續集成(CI)/持續交付(CD)是兩個獨立過程的組合:持續集成和持續交付。以下列出了CI/CD管道中的主要步驟。

持續集成(CI):代碼提交

持續集成(CI)是構建軟件并完成初始測試的過程。持續交付(CD)是將代碼與基礎設施相結合的過程,確保完成所有測試并遵循策略,然后將代碼部署到預期的環境中。當然,許多組織都有自己的流程,但主要步驟如下所示:

  • 人員:開發人員和工程師、數據庫管理員(DBA)、基礎設施團隊。
  • 技術:GitHub、Gitlab、SVM、BitBucket。
  • 過程:

代碼提交階段也稱為版本控制。提交是將開發人員編寫的最新更改發送到存儲庫的操作。開發人員編寫的每一個版本的代碼都是無限期存儲的。在與合作者討論和審查更改之后,開發人員將編寫代碼,并在軟件需求、功能增強、錯誤修復或更改請求完成后提交。管理編輯和提交更改的存儲庫稱為源代碼管理(SCM工具)。開發人員在提交代碼(代碼推送請求)后,代碼更改將合并到存儲在中心存儲庫(如GitHub)中的基本代碼分支中。

持續集成(CI):靜態代碼分析

  • 人員:開發人員和工程師、數據庫管理員(DBA)、基礎設施團隊、測試人員。
  • 技術:GitHub、Gitlab、SVM、BitBucket。
  • 過程:

開發人員編寫代碼并將其推送到存儲庫后,系統將自動觸發以啟動下一個代碼分析過程。想象一下這樣一個步驟:提交的代碼可以直接構建,而在構建或交付期間失敗。就機器和人力的資源利用率而言,這都是一個成本昂貴的緩慢過程。組織必須檢查代碼中的靜態策略,靜態應用程序安全測試(SAST)是一種白盒測試方法,可以使用SonarQube、Veracode、Appscan等SAST工具從內部檢查代碼,以發現軟件缺陷、漏洞和弱點(例如SQL注入等)。這是一個快速檢查過程,其中檢查代碼是否存在語法錯誤。盡管此階段缺少檢查運行時錯誤的功能,但該功能將在以后的階段中執行。

將其他策略檢查放入自動管道中可以顯著地減少在該過程中發現的錯誤數量。

持續集成(CI):構建

  • 人員:開發人員和工程師。
  • 技術:Jenkins、Bamboo CI、Circle CI、Travis CI、Maven、Azure DevOps。
  • 過程:持續集成(CI)過程的目標是進行常規代碼提交并不斷構建二進制工件。持續集成過程通過檢查添加的新模塊是否與現有模塊配合良好,有助于更快地發現錯誤。這有助于減少驗證新代碼更改的時間。生成工具根據用于編寫源代碼的編程語言來幫助編譯和創建可執行文件或程序包(.exe、.dll、.jar等)。在交付期間,還將生成SQL腳本,然后與基礎設施配置文件一起對其進行測試。總之,構建階段就是編譯應用程序的階段。作為構建過程一部分的其他子活動是工件存儲、構建驗證和單元測試。

構建驗證測試(BVT)/煙霧測試和單元測試:

創建構建后立即執行煙霧測試。構建驗證測試(BVT)檢查所有模塊是否正確集成,以及程序的關鍵功能是否正常運行。測試的目的是放棄嚴重損壞的應用程序,以使質量保證團隊不會浪費時間安裝和測試軟件應用程序。

在這些檢查之后,將單元測試(UT)添加到管道中,以進一步減少生產中的故障。單元測試測試開發人員編寫的代碼的各個單元或組件,以驗證它們是否按預期執行。

工件存儲:

一旦準備好構建,數據包就存儲在一個稱為工件或存儲庫工具的集中位置或數據庫中。每天可能會生成很多構建,并且跟蹤所有構建可能會很困難。因此,一旦生成并驗證構建,它就被發送到存儲庫進行存儲。存儲庫工具(如Jfrog Artifactory)用于存儲二進制文件,如.rar、.war、.exe、Msi等。在此,測試人員可以通過人工選擇,并在測試環境中部署工件以進行測試。

持續集成(CI):測試階段

  • 人員:測試人員、質量檢查工程師。
  • 技術:Selenium、Appium、Jmeter、SOAP UI,、Tarantula。
  • 過程:發布構建過程后,通過一系列自動測試將驗證代碼的準確性。這一階段可幫助避免生產中的錯誤。根據構建的規模,這種檢查可能持續數秒至數小時。對于由多個團隊提交和構建代碼的大型組織來說,這些檢查在并行環境中運行的,以節省寶貴的時間,并盡早將錯誤通知開發人員。

這些自動化測試由測試人員(或質量保證工程師)設置,他們根據用戶案例設置了測試用例和場景。他們執行回歸分析和壓力測試以檢查與預期輸出的偏差。測試涉及的活動包括健全性測試、集成測試、壓力測試。這是一種非常高級的測試。在這里,可以發現開發人員可能未知的問題。

集成測試:

集成測試是使用諸如Cucumber、Selenium等工具執行的,其中將單個應用程序模塊組合并作為一組進行測試,同時評估是否符合指定的功能需求。在集成測試之后,需要有人批準該組中的更新集應該移動到下一階段,這通常是性能測試。這種核查過程可能很繁瑣,但它是整個過程的重要組成部分。在測試過程中出現了一些新的解決辦法。

負載平衡和壓力測試:

負載平衡和壓力測試也使用自動化測試工具(如Selenium、JMeter等)執行,以檢查應用程序運行是否穩定,并且在高流量環境下是否良好。由于全面的壓力測試是長期運行的,因此通常不會在每次更新上運行這一測試。當要發布主要的新功能時,將對多個更新進行分組,并完成完整性能測試。如果將單個更新移動到下一階段,則管道可能包括金絲雀測試作為替代。

  • 人員:基礎設施工程師、站點可靠性工程師(SRE)、運營工程師。
  • 技術:Spinnaker、Argo CD、Tekton CD。
  • 過程:在測試階段完成之后,標準的代碼準備部署到服務器中,這些代碼將與主要應用程序集成。在部署到生產中之前,他們將被部署到測試/暫存或產品團隊內部使用的測試環境中。在將構建移動到這些環境之前,構建必須經過兩個子庫,其名稱為Bake和Deploy。這兩個階段都是Spinnaker所固有的。

持續交付(CD):Bake

Bake是指從源代碼中創建一個不可變的映像實例,該實例在生產環境中具有當前配置。這些配置可能是數據庫更改和其他基礎設施更新之類的內容。Spinnaker可以觸發Jenkins來執行這個任務,而有些組織更喜歡使用Packer。

持續交付(CD):Deploy

Spinnaker自動將Bake的映像傳遞到Deploy階段。這是將服務器組設置為部署到集群的位置。與上述測試過程類似,在Deploy階段執行功能相同的過程,首先轉移到測試階段,然后轉移到產品環境,最后進行批準和檢查。其整個過程由Spinnaker之類的工具處理。

持續交付(CD):驗證

這也是組織的團隊優化整個CI/CD流程的關鍵位置。因為現在已經進行了大量的測試,所以失敗很少見。但是,此時必須盡快解決所有故障,以最大程度地減少對最終客戶的影響。團隊也應該考慮使流程的這一部分自動化。

使用藍綠部署、金絲雀分析、滾動更新等策略部署到產品。在部署階段,將監視正在運行的應用程序以驗證當前部署是否正確或是否需要回滾。

持續交付(CD):監控

  • 人員:站點可靠性工程師(SRE)、運營團隊。
  • 技術:Zabbix、Nagios、Prometheus、Elastic Search、Splunk、Appdynamics、Tivoli。
  • 過程:為了使軟件發行版具有故障安全性和健壯性,在生產環境中跟蹤發行版的運行狀況至關重要。應用程序監視工具將跟蹤性能指標,例如CPU利用率和發行版延遲。日志分析器將掃描由底層中間件和操作系統產生的大量日志,以識別行為并跟蹤問題的根源。如果生產中出現任何問題,將通知利益相關者以確保生產環境的安全性和可靠性。此外,監視階段可幫助組織收集有關其新軟件更改如何為收入貢獻的情報,幫助基礎設施團隊跟蹤系統行為趨勢并進行容量規劃。

持續交付(CD):反饋和協作工具

  • 人員:站點可靠性工程師(SRE)、運營和維護團隊。
  • 技術:JIRA、ServiceNow、Slack、電子郵件、Hipchat。
  • 過程:DevOps團隊的目標是更快地持續發布,然后不斷減少錯誤和性能問題。這是通過不時地通過發送電子郵件向開發人員、項目經理提供有關新版本的質量和性能的反饋。通常情況下,反饋系統是整個軟件交付過程的一部分。因此,交付中的任何更改都會頻繁地登錄到系統中,以便交付團隊可以對它采取行動。

結語

組織必須評估一個整體的持續交付解決方案,該解決方案可以自動化或促進上述這些階段的自動化。

原文標題:What Is a CI/CD Pipeline?,作者:Jyoti Sahoo

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:華軒 來源: 51CTO
相關推薦

2023-01-16 08:00:00

2021-07-23 10:17:17

網絡攻擊存儲供應鏈

2023-02-20 08:02:38

智能自動化交付

2021-06-18 09:00:00

云計算開發存儲庫

2022-04-20 09:00:00

軟件開發自動化測試工具

2017-02-27 18:35:23

集成交付部署

2016-08-05 17:19:37

持續集成持續交付系統運維

2017-10-19 09:47:55

容器化微服務集成

2015-07-22 14:59:30

OpenStac持續集成持續交付

2018-01-08 14:18:14

代碼互聯網持續集成

2017-02-27 18:24:34

交付開發工具

2020-06-23 10:41:08

云計算DevOps持續集成

2020-12-18 11:22:08

云計算開源Kubernetes

2020-11-17 08:00:00

機器學習管道IT

2021-07-02 16:30:01

CICDDevOps

2015-09-24 09:43:08

阮一峰持續集成

2023-03-19 11:47:57

Taro小程序持續集

2020-10-21 14:10:28

工具測試開發

2021-06-04 09:00:00

數據庫集成工具

2023-11-10 09:00:00

人工智能機器學習Docker
點贊
收藏

51CTO技術棧公眾號

色妞一区二区三区| 欧美成人h版| 福利成人在线观看| 免费日韩成人| 韩国欧美国产一区| 欧美午夜电影在线观看| 午夜av一区二区| 国产精品电影网站| 男女爱爱免费网站| 我要色综合中文字幕| 99视频热这里只有精品免费| 亚洲美女视频网| 99精品一区二区三区的区别| h片在线观看下载| 九九国产精品视频| 日韩电影中文字幕av| 日韩欧美激情一区二区| 国产激情视频在线| 国产日韩精品视频一区二区三区| 在线看日本不卡| 97se国产在线视频| www在线观看播放免费视频日本| 中文字幕日韩av资源站| 韩国福利视频一区| 国产主播福利| 久久在线免费| 色噜噜狠狠色综合中国| 成人精品一二区| 亚洲综合影视| 久久99精品国产91久久来源| 成人在线一区二区| 日本在线观看视频| 日本伊人色综合网| 国产一区二区三区网站| 51精品国产黑色丝袜高跟鞋| 免费人成短视频在线观看网站| 亚洲国产精品成人| 日韩欧美自拍偷拍| 欧美一级免费播放| 国产一区二区三区电影在线观看 | 第四色男人最爱上成人网| 国产制服丝袜一区| 久久精品99无色码中文字幕| 色综合97天天综合网| 啪啪亚洲精品| 欧美日韩国产综合一区二区三区| 亚洲一区二区三区精品动漫| 亚洲综合资源| 亚洲成av人综合在线观看| 1069男同网址| 日韩黄色一级片| 欧美精品www| 日本最黄一级片免费在线| 色综合欧美在线| 一区二区高清视频| 国产曰批免费观看久久久| 黑人巨茎大战欧美白妇| 国内亚洲精品| 成人一区二区电影| 日韩漫画puputoon| 亚洲三级小视频| 91精品视频网站| 精品视频在线一区二区在线| 在线观看国产一区二区| av在线com| 日韩在线卡一卡二| 国精品一区二区| 久久久久久一区二区| 久久se精品一区精品二区| 一本色道久久88综合日韩精品 | 欧美性高跟鞋xxxxhd| 可以看av的网站久久看| 中文高清一区| 久久伦理网站| 精品av综合导航| 亚洲欧美自拍另类日韩| 国产欧美丝祙| 影音先锋男人的网站| 久久精品一区四区| 97se国产在线视频| 久久99精品国产.久久久久久| 成人在线观看你懂的| 亚洲免费高清| 91国内精品久久| 欧美成人h版| 欧美激情一级精品国产| 97人人精品| 中文字幕av导航| 99热这里只有精品8| 污污污污污污www网站免费| 99xxxx成人网| 国产精品国产亚洲精品看不卡| 中文字幕一区视频| 日韩国产精品毛片| 国产精品美女久久久久aⅴ| 国产女主播av| 国产精品福利av| 69视频在线| 亚洲午夜影视影院在线观看| 狠狠热免费视频| 国产在线精品国自产拍免费| 日本新janpanese乱熟| 精品一区二区三区免费视频| 97蝌蚪自拍自窝| 精品99一区二区三区| 色吊丝一区二区| 欧美激情在线观看视频| 韩国自拍一区| 可以免费观看av毛片| 99在线热播精品免费| 狠狠v欧美ⅴ日韩v亚洲v大胸| 亚洲综合色视频| 日日噜噜夜夜狠狠| 久久只精品国产| 亚洲 欧美 日韩 国产综合 在线| 亚洲成人av电影在线| 日本搞黄视频| 亚洲人成人99网站| av在线加勒比| 亚洲精品在线一区二区| 久操国产精品| 欧美日韩不卡在线视频| 欧美福利电影网| 77777影视视频在线观看| 欧美国产日韩一区| 久久精品国产亚洲blacked| 欧美乱妇40p| jizz性欧美23| 91成人在线观看国产| 九一九一国产精品| 国产三级在线看| 国产成人精品在线播放| 欧美激情国产在线| 久久精品午夜福利| 亚洲精品成人久久电影| 另类中文字幕国产精品| 国模精品娜娜一二三区| 蜜臀91精品一区二区三区| 日本一区二区三区www| av成人毛片| 中文字幕在线永久在线视频| 欧美视频精品在线| av黄色在线| 国产视频精品自拍| 欧美天堂一区| 久久久久久一区二区三区| 国产一区二区三区免费在线观看| www视频在线观看免费| 亚洲精品国产免费| 99成人在线| 成人av一区| 亚洲xxxx3d| 狠狠狠色丁香婷婷综合激情| 日本免费视频在线观看| 精品国产乱码一区二区三区四区 | 国产精品一区二区久久精品| 欧美在线看片| 久久伊人一区| 波波电影院一区二区三区| 日韩激情美女| 欧美少妇一区| 91在线观看视频| 国产黄视频在线观看| 欧美激情视频一区二区三区不卡| 9i在线看片成人免费| 高清一区二区| **亚洲第一综合导航网站| 亚洲成人免费av| 天天久久综合| 日本美女爱爱视频| 亚洲美女www午夜| 成人午夜视频免费看| 噼里啪啦在线中文观看| 欧美一级生活片| 亚洲免费中文| 中文字幕在线观看第三页| 久久这里有精品| 影音先锋久久精品| 妞干网在线观看视频| 在线视频日本亚洲性| 九九视频免费观看视频精品| 毛片视频免费观看| 91久热免费在线视频| 欧美日韩精品二区第二页| 日本人妖一区二区| 成人深夜福利| 国产精品一区二区三区不卡| 99久久婷婷国产精品综合| 精品久久免费| 国产综合色一区二区三区| 精品国产三级电影在线观看| 麻豆影视在线| 日本精品免费一区二区三区| 国产一区二区三区免费看| 亚洲精品一级| 久久精品无码一区二区日韩av| 国产成人精品电影久久久| 久久精品美女视频网站| 色阁综合伊人av| 在线观看国产精品日韩av|