色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是CI / CD?其意義何在?

電子工程師 ? 來源:網絡整理 ? 作者:工程師李察 ? 2018-09-08 09:17 ? 次閱讀

時至今日,越來越多的工程團隊開始實行敏捷開發,借以推動更短、更快的發布周期。而代碼庫的增長與更高的生產構建頻率,也帶動持續集成與持續部署/交付工具快速興起。

如果您有意提升發布頻率,或者是不太清楚哪些工具能夠幫助您達成這一目標——別擔心。在今天的文章中,我們將探討一系列最流行的CI / CD工具,并對其特性作出剖析。

什么是CI / CD?其意義何在?

在深入研究CI / CD自動化工具之前,我們首先需要了解其基本概念。正如我們所提到的,持續集成和持續部署通常與敏捷開發環境齊頭并進。在這類環境中,團隊希望在構建完成后立即將不同的代碼段部署到生產環境中。

使用CI / CD工具可自動完成構建,測試和部署新代碼的過程。即使只更改了其中一行甚至是一個字符,團隊成員都可以立即獲得有關其代碼生產準備情況的反饋。如此一來,每位團隊成員都可以將他們的代碼推送到生產體系當中,而構建,測試和部署的過程則自動完成,以便他們放心大膽地繼續處理應用程序的下一部分。

但在為工作流添加自動化的過程中,將代碼部署到生產環境中并不意味著萬事大吉。您必須繼續追蹤錯誤情況,從而真正讓新功能為用戶服務。對于大多數團隊而言,在生產中進行調試是一項需要手動執行且異常繁瑣的任務,需要他們投入數小時甚至數天全程關注日志篩選工作。但是,現在我們可以通過大規模自動化方式實現根本原因分析,了解錯誤發生的位置、時間以及根本性原因。

了解到在我們的工作流程中使用CI模型實現自動化的重要意義,接下來就要看看哪款工具最符合我們的實際需求了。

Jenkins

Jenkins是CI市場中最知名且最常見的名號之一。其最初是由Sun公司的一位工程師打造的一個輔助項目,并迅速擴展為最大的開源CI工具之一,可幫助工程團隊實現自動化部署。順帶一提:我們OverOps也在使用Jenkins以及自己開發的CLI工具。

它有什么作用?

與其它CI工具一樣,Jenkins可以自動構建、測試及部署任務。該工具支持Windows、Mac OSX以及各類Unix系統,可以使用本機系統軟件包以及Docker進行安裝,也可以在安裝了Java Runtime Environment(JRE)的任何機器上獨立安裝。

在實踐方面,Jenkins允許團隊中的任何成員將他們的代碼推送到build當中,并立即獲得其準備情況的反饋。當然,在大多數情況下,您的團隊需要通過自定義要求對Jenkins進行一些調整和定制。

Jenkins的強大之處體現在其豐富的插件生態系統上。它提供超過1000款插件選項,可以集成幾乎所有市場上可用的工具和服務。作為一款開源工具,您還可以選擇自定義適合自身情況的解決方案——就像我們一樣。然而,大家需要投入一定時間與精力來確保它適合您的實際需求。

價格:免費

一點補充:我們要再次強調:開源+插件=社區。您可以想到的任何配置、工作流程、需求或者愿望,都可以在Jenkins及其插件的幫助下成為現實。

一句話總結:如果您正在尋找便宜(免費!)的CI解決方案,并愿意投入精力來定制您的環境并需要用戶社區的支持,Jenkins無疑是您的最佳選擇。

標準Jenkins工作清單

標準Jenkins工作清單

Travis CI

Travis CI是CI / CD生態系統中比較常見的名號之一,最初設定為開源項目,并在多年擴展之后轉為閉源項目。它專注于CI工作,通過自動化測試和警報系統提高構建過程的效能。

它有什么作用?

Travis-CI允許用戶在部署代碼時對代碼進行快速測試。它支持代碼大小變更,可識別構建與測試中發生的一切變更。檢測到變更后,Travis CI可以提供有關變更是否成功的反饋。

開發人員可以使用Travis CI對運行時進行觀察,并行運行多項測試,并將該工具與Slack、HipChat以及Email等集成,從而通過多種渠道獲取問題或構建失敗通知。

Travis CI支持容器構建,并支持Linux Ubuntu和OSX。您可以在不同的編程語言中使用它,例如Java,C#,Clojure,GO,Haskell,Swift,Perl等等。其具備一份相對有限的第三方集成列表,但由于關注重點在于CI而非CD,因此其可能解決不了您的實際問題。

價格:雖然Travis CI為開源項目且提供免費支持,但同時亦提供專有版本,價格從自助版本的69美元/月到高級版本的489美元/月不等。

一點補充:為確保始終備份最近的構建版本,Travis CI會在您運行新構建時將GitHub存儲庫克隆到新的虛擬環境中。

一句話總結:如果您的代碼是開源的,并且您更關注構建中的持續集成部分,那么Travis CI值得一試。

Travis CI儀表板

Circle CI

Circle CI是一款基于云的工具,可自動執行集成和部署任務。它還強調在部署之前對代碼中的每項變更進行測試,且使用多種方法——如單元測試、集成測試與功能測試等。該工具支持容器、OSX以及Linux環境,可以在私有云或您自己的數據中心內運行。

它有什么作用?

Circle CI能夠與您當前的版本控制系統(如GitHub,Bitbucket等)集成,并在檢測到變更時運行多種操作。其支持的變更方式包括提交,打開PR或任何其他代碼更改。

每項代碼更改都會根據您的初始配置和首選項創建build,并在潔凈容器或虛擬機中運行測試。每個build都將接受多項操作處理,包括依賴性檢查、測試與部署等。如果build通過測試,則可以通過AWS CodeDeploy、Google容器引擎、Heroku、SSH或您選擇的任何其他方法進行部署。

存在問題的build和測試結果將通過Slack,HipChat,IRC或多種其他集成頻道進行發送,團隊可以借此快速了解變更結果。需要強調的是,Circle CI在配合各類不同語言時,可能要求進行一些調整與更改,因此建議大家首先查看所選語言的說明文檔。

價格:對于Linux用戶,第一套容器是免費的,每套額外容器每月50美元。對于構建1-5個build/天的團隊,以及私人數據中心或云計算環境,OSX版本起價為39美元/月,年度合同的價格為每用戶35美元/月。

一點補充:Circle CI可以自動清除GitHub上的冗余build。如果在同一分支上觸發了較新的build,則該工具會識別并取消正在運行或排隊的舊build——包括尚未完成的build。

一句話總結:如果你正在尋找一款GitHub友好型工具,要求它背后擁有廣泛的社區,并可以在私有云或您自己的數據中心內運行,那么Circle CI絕對值得一試。

Circle CI儀表板

TeamCity

TeamCity是由JetBrains開發的CI / CD服務器。其提供“開箱即用”的持續集成功能,并允許用戶根據自己的需要實現適配。它支持多種語言(Java,.NET,Ruby等),而JetBrains也為其提供多款支持工具與出色的說明文檔。

它有什么作用?

作為CI / CD工具,TeamCity旨在改善發布周期。有了它,您可以即時查看測試結果,查看代碼覆蓋率并查找重復項,同時自定義builod持續時間、成功率、代碼質量及其他基于統計信息的自定義指標。

一旦TeamCity在您的版本控制系統中檢測到更改,它就會向隊列添加build。服務器找到空閑且兼容的build代理,并將排隊中的build分配給此代理。此后,由該代理執行構建步驟。

在此過程中,TeamCity服務器會記錄各項日志消息、測試報告以及正在進行的其他更改。這些更改會實時保存并上傳,意味著用戶可以在build更改時了解構建過程中發生的情況。該工具還提供了在不同平臺和環境中同時運行并行buld的選項。

價格:專業服務器許可免費提供,其中包括100套build配置、對所有產品功能的完全訪問權限、通過論壇和問題跟蹤器獲得支持以及3個build代理。企業服務器許可起價為1999美元,且您需要的代理數量越多,價格也會隨之提高。

一點補充:TeamCity附帶有gated提交選項,可以防止開發人員破壞版本控制系統中的源代碼。其具體原理是在提交之前,首先以遠程方式運行build實現本地變更,從而確保提交內容不存在破壞性風險。

一句話總結:TeamCity在過去幾年中越來越受歡迎,并為市場上的其他CI工具帶來了不錯的發展方向指引。如果您有興趣追蹤構建與測試過程,或者想要一套免費且功能強大的CI解決方案,毫無疑問TeamCity值得一試。

TeamCity儀表板

Codeship

Codeship對CI / CD有著不同的看法,并提供托管持續集成即服務方案。該工具最初是為Rails開發人員提供持續集成平臺而構建的; 當時,他們需要在GitHub上托管自己的代碼并將其部署到Heroku。由于極高的人氣與旺盛的需求,該公司多年來一直不斷擴展以支持其他技術方案。

它有什么作用

Codeship有兩種不同的產品,每種都有其優缺點。Codeship Basic允許通過Web UI和交鑰匙部署連接代碼庫以設置CI / CD流程。它支持預配置CI環境,并允許多個不同的build在同一構建虛擬機上運行。

Codeship Pro使用Docker定義CI / CD環境,借此運行構建管道。它具有對構建環境的完全控制能力,允許您定義在其中運行的具體內容。Pro版本還提供預分支緩存,設置對哪些鏡像以及工作流的哪個部分進行緩存,且支持并行部署。

整體而言,Codeship支持多種語言,例如Java、Go、Node.jsPython以及Ruby等。在部署方面,Basic版本支持AWS、Heroku、Azure和Kubernetes,而Pro還額外支持AWS ElasticBeanstalk、Google App Engine以及Digital Ocean。

價格:免費計劃每月支持100個代碼更新版本,且對項目、用戶及團隊數量不做限制。它還提供并發構建和并行測試管道。根據您需要的并發構建和并行測試管道數量,Basic與Pro版本的價格在49美元至79美元/月之間。

一點補充:Codeship提供一整套實用程序、腳本及Docker鏡像集合,可以與該工具一起使用。該公司指出,其中一些還能夠與其他類似的工具一同使用。此集合包括可自定義的外部服務部署腳本,用于安裝默認情況下未包含在構建虛擬機上的特定軟件版本的腳本等。

一句話總結:在同一名頭之下提供2種不同的工具可能看起來有點奇怪,但這也使得開發人員可以選擇更適合不同類型客戶的各種元素。由于Basic和Pro皆為免費提供,因此對于您的CI需求來說,這應該是個不錯的選擇。

Codeship儀表板

GitLab CI

GitLab亮相后不久,該團隊即推出了持續集成服務GitLab CI。除了測試和構建項目之外,該工具還可以將build部署到您的基礎設施當中。而且只要了解各具體代碼段的位置,您就能夠對其開展針對性追蹤。

它有什么作用?

GitLab CI作為GitLab的一部分免費提供,且設置過程相當便捷。要開始使用GitLab CI,您首先需要將.gitlab-ci.yml文件添加到代碼庫的根目錄,同時配置GitLab項目以使用Runner。之后,每次提交或推送都將觸發包含以下三個步驟的CI流程:構建,測試和部署。

每個build的可以分為多個作業,并且可以在多臺機器上并行運行。該工具可以立即反饋build的測試結果,讓用戶知道出現了什么問題或者過程中是否存在問題。

價格:社區版免費提供。對于包含發行板、代碼審查期間多項批準、高級語法搜索以及其它一些功能的版本,起價為3.25美元/月。

一點補充:GitLab(和GitLab CI)是一個開源項目。換句話說,您可以訪問并修改GitLab 社區版及企業版的源代碼。

一句話:如果您正在使用GitLab,那么嘗試將GitLab CI解決方案作為其中的一部分無疑是種明智之舉。

GitLab CI儀表板

Bamboo

Bamboo是Atlassian產品套件的一部分。與其他工具類似,它也提供代碼的構建,測試和部署功能并支持多種語言。它與其他與CI周期相關的Atlassian產品(如JIRA和Bitbucket)擁有強大的集成能力/協同效應。

它有什么作用?

構建,測試和部署都是Bamboo軟件包的一部分,測試部分是在Bamboo Agents的幫助下完成的。與Java監控機制中的代理類似,Bamboo也提供兩種代理類型:本地代理作為Bamboo服務器進程的一部分運行,而遠程代理則在其他服務器與計算機上運行。每個代理都被給予與其功能相匹配的build,這意味著用戶可以將不同的代理分配給不同的build。

Bamboo的主要優勢在于同Atlassian其他產品(如JIRA和Bitbucket)的緊密聯系。使用Bamboo,您可以看到自上次部署以來引入的代碼更改和JIRA問題。這樣,開發人員就可以同步自己的工作流程、始終保持代碼正常運行,并了解下一個版本的開發方向以及需要修復的部分。

價格:Bamboo定價由代理的數量決定。無限制本地代理的基礎定價為10美元,最多10項作業,沒有遠程代理功能。下一級別為800美元,提供無限作業與本地代理數量,以及1個遠程代理。遠程代理數量越高,價格也將隨之增長,但最高不會超過44000美元。

一點補充:Bamboo擁有Atlassian的強大支持,并可與該公司現有產品配合起來建立理想的工作流程。如果您想以無縫方式將JIRA和Bitbucket添加到您的CI流程,并且愿意為此付費,那么Bamboo值得一試。

一句話總結:只要愿意接受付費方案,并將其與Bitbucket和JIRA配合使用,Bamboo就是一款極為強大的工具。

Bamboo儀表板

總結

對更快、更短發布周期的要求,促使開發團隊必須找到能夠支持新型軟件交付方法的工具與工作流程。每周、每天甚至每小時發布生產成果也意味著將有更多錯誤出現在生產體系當中。現在,大家已經熟悉了CI / CD工作流程,下一步則應檢查完整CI / CD工具鏈中缺少的環節,以及如何將其添加到工作流程中。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Bamboo
    +關注

    關注

    0

    文章

    2

    瀏覽量

    7296
  • 自動化工具
    +關注

    關注

    0

    文章

    8

    瀏覽量

    1637
收藏 人收藏

    評論

    相關推薦

    無刷電機的基本參數及其意義有哪些

    電動模型的動力單元是指什么?有刷電機與無刷電機的區別在哪?有刷電調與無刷電調的區別在哪?無刷電機的基本參數及其意義有哪些?無刷電機的有感與無感問題是什么?
    發表于 08-06 06:36

    請問下哪些CI/CD工具是支持Arm 架構的

    我在為一個開源項目啟用 CI 管道,請問下哪些CI/CD工具是支持Arm 架構的?
    發表于 09-21 11:29

    電池型號命名及其意義

    電池型號命名及其意義1.圓柱型鋅錳電池   圓柱型鋅錳電池就隔離物的不同可分為糊式電池和紙板電池。糊式電池即普通
    發表于 10-20 17:11 ?7818次閱讀

    鍋爐機組燃燒調節方式及其意義

    鍋爐機組燃燒調節方式及其意義 一、燃料量的調節   燃料量的調節是燃燒調節的重要一環。不同的燃燒設備和不同的燃料種類,燃料量的調節方法也各不相同
    發表于 01-23 10:53 ?1267次閱讀

    運營商該如何在內部和外部網絡中實施CI/CD實踐

    調查表明,有42%受訪企業希望在2019年底之前對NFV的內部業務實施CI/CD實踐,66%受訪CSP希望在2020年底之前實施CI/CD。
    發表于 12-19 10:56 ?954次閱讀

    五個開發者必知的CI/CD工具

    一旦你選擇了最好的CI/CD工具,你將繼續你的DevOps生命周期。如果操作得當,它將能夠提高產品質量并鼓勵你的團隊充滿自信地進行發布游戲。
    的頭像 發表于 02-14 16:43 ?3228次閱讀

    半導體二極管參數符號及其意義總結

    半導體二極管參數符號及其意義總結。
    發表于 05-25 14:25 ?19次下載

    提高CI/CD系統可觀察性的四種技術

    可觀察性是DevOps團隊的重要組成部分,它可以幫助組織從系統的輸出信息,推斷系統內部狀態。它是一個持續的過程,從你的CI/CD流水線開始,并貫穿于應用程序的整個生命周期。 可觀察的CI/CD
    的頭像 發表于 08-17 09:31 ?7131次閱讀

    基于Kubernetes實現CI/CD配置的流程

    基于 Kubernetes 實現 CI/CD 配置,其實和往常那些 CI/CD 配置并沒有太大區別。
    的頭像 發表于 02-08 16:51 ?1427次閱讀

    深入探討軟件定義架構及其意義

    在上期文章中,我們了解了現代GNSS模擬中的軟件定義架構,并與傳統架構進行了對比,本期文章中我們將繼續深入探討軟件定義架構及其意義
    的頭像 發表于 02-08 10:40 ?732次閱讀
    深入探討軟件定義架構及<b class='flag-5'>其意義</b>

    面對CI/CD分析的代碼靜態測試工具Klocwork 2023.1版本更新快訊

    Klocwork 2023.1為CI/CD分析pipeline引入靈活的管理選項 。使用差異分析加速靜態分析掃描, 在CI/CD管道構建中提供上下文結果,并可以用和服務器端相同的方式管
    的頭像 發表于 04-17 12:03 ?1493次閱讀
    面對<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>分析的代碼靜態測試工具Klocwork 2023.1版本更新快訊

    DevOps的最佳CI/CD工具

    CI/CD是一種 DevOps 方法,它結合了持續集成和持續交付的概念,允許企業通過在軟件開發生命周期中集成自動化來始終如一地向客戶交付應用程序。
    的頭像 發表于 07-11 11:06 ?706次閱讀

    亥姆霍茲定理內容及其意義 簡述亥姆霍茲定理及其意義

    亥姆霍茲定理內容及其意義 簡述亥姆霍茲定理及其意義 亥姆霍茲定理(Helmholtz's theorem)是物理力學中的一個重要定理,它被廣泛應用于液體力學、電磁學、熱力學等領域。該定理是由德國
    的頭像 發表于 08-29 17:09 ?5970次閱讀

    什么是CI/CD?基本的gitlab CI/CD流程詳解

    什么是CI/CD?通俗來說就是啟動一個服務,能夠監聽代碼變化,然后自動執行打包,發布等流程;
    的頭像 發表于 12-08 09:50 ?6708次閱讀
    什么是<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>?基本的gitlab <b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>流程詳解

    CI/CD方案:推動智能汽車開發的高效利器

    在智能化和自動駕駛技術飛速發展的背景下,汽車軟件開發的復雜性正以前所未有的速度增長。面對市場對效率、質量和快速迭代的高需求,傳統開發模式已然捉襟見肘。作為提升開發效率和質量的核心工具,CI/CD
    的頭像 發表于 12-18 10:03 ?390次閱讀
    <b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>方案:推動智能汽車開發的高效利器
    主站蜘蛛池模板: 国产系列在线亚洲视频| jizzjizz3d动漫| 99re 这里只有精品| 脱jk裙的美女露小内内无遮挡| 国产精品亚洲AV色欲在线观看| 中文字幕人成人乱码亚洲影视S| 日本特殊精油按摩| 精品福利一区| 国产精品俺来也在线观看| 2017年伦理片免费观看| 亚洲人成www在线播放| 日韩性大片| 4399日本电影完整版在线观看免费 | 久久九九精品国产自在现线拍| 67194成在线观看免费| 一久久| 亚洲视频黄| 中文字幕亚洲欧美日韩2019| 樱花草在线观看影院| 亚洲白色白色在线播放| 我的美女奴隶| 亚洲人成在线观看一区二区| 亚洲综合日韩中文字幕v在线| 午夜精品久久久久久久99蜜桃 | 国产亚洲色婷婷久久精品99 | 国产国产成年在线视频区| 俄罗斯14一18处交| 激情内射亚州一区二区三区爱妻| 极品少妇高潮啪啪AV无码| 亚洲精品AV无码永久无码| 三级黄色视屏| 无码AV动漫精品一区二区免费| 欧美精品色视频| 在镜头里被CAO翻了H| 蜜臀亚洲AV永久无码精品老司机| 最近免费中文字幕大全免费| 同居了嫂子在线观看| adc年龄确认大驾光临入口| 暖暖视频 免费 高清 日本8| 啊灬啊别停灬用力啊老师| 日韩精品一区二区中文|