国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

開源CI/CD工具調(diào)研

這篇具有很好參考價值的文章主要介紹了開源CI/CD工具調(diào)研。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Introduction to CI/CD Tools

Definition of CI/CD Tools
Continuous Integration/Continuous Delivery (CI/CD) represents a pivotal practice in supporting collaborative software development, automating numerous activities within the software production process, encompassing compilation, building, testing, quality assurance, dependency and security management, as well as release creation. CI/CD tools serve to assist developers in automating their development workflows, thereby facilitating the expedited production of high-quality software versions (cite:Pooya Rostami Mazrae;Tom Mens;Mehdi Golzadeh;Alexandre Decan.On the usage, co-usage and migration of CI/CD tools: A qualitative analysis[J].Empirical Software Engineering,2023,Vol.28(2): 1).
Definition of CI ( Continuous Integration )
Integrate developer code changes into a shared code base and automate the process of building and testing code.
Definition of CI ( Continuous Integration )

The process of automating the build, test and deployment of code changes to the production environment.

以上是關(guān)于CI/CD工具介紹這一部分,這里是參考了On the usage, co-usage and migration of CI/CD tools: A qualitative analysis這篇文獻。簡單來說,CI/CD工具能夠自動化實現(xiàn)軟件生產(chǎn)過程中的許多活動,包括編譯、構(gòu)建、測試、質(zhì)量保證、依賴和安全管理、創(chuàng)建發(fā)布等工作,從而生產(chǎn)高質(zhì)量的軟件版本。

Which CI/CD tools are being used?

Comprehensive CI/CD tools:

Jenkins :https://github.com/jenkinsci/jenkins
GitLab CI/CD :https://gitlab.com/gitlab-org/gitlab-ci
Travis CI:https://github.com/travis-ci
Drone:https://github.com/drone/drone

Number of posts:

Jenkins:136664
GitLab CI/CD:3463
Travis CI:5495
Drone:3,684

主要對搜集到4個工具的社區(qū)受歡迎度進行比較。通過對stackoverflow上對這幾個工具的討論帖子數(shù)進行間接表示,以資料的完善程度作為參考指標。
之后關(guān)于Jenkins、Travis CI、Drone通過X-Lab實驗室創(chuàng)立的活躍度和影響力兩大指標進行比較。

開源CI/CD工具調(diào)研,開源,開源
開源CI/CD工具調(diào)研,開源,開源

開源CI/CD工具調(diào)研,開源,開源

因為Drone目前已被 Harness 收購,Drone 專注于持續(xù)集成,而 Gitness 添加了源代碼托管,使代碼管理和管道更加緊密地結(jié)合在一起。Gitness 的目標是最終在管道功能方面與Drone完全同等,允許用戶無縫地從 Drone遷移到Gitness,因此這里主要通過gitness來對drone的受歡迎度進行間接表示。
從以上數(shù)據(jù)可以看出幾個工具的受歡迎度,可以大致確定CI/CD工具主要以Jenkins為主,以上僅是通過給出的數(shù)據(jù)分析出的個人意見。

Shortcomings of CI/CD Tools

Jenkins:
配置難度大:Jenkins被多名受訪者報告為難以配置。
速度較慢:一些受訪者提到Jenkins運行速度較慢。
用戶體驗問題:Jenkins被報告為具有過時的用戶界面設(shè)計,導致用戶體驗不佳。
GitLab CI/CD:
工作流程不簡單:GitLab CI/CD被報告為缺乏簡單的工作流程。
用戶界面混亂:GitLab CI/CD的用戶界面被報告為混亂,缺少用于定義工作流程的Web界面。
Travis CI:
速度較慢:TravisCI被多名受訪者報告為運行速度較慢,甚至有受訪者認為其速度對于特定需求仍然太慢。
限制較多:在公司決定改變其對開源項目支持政策后,Travis CI被認為在免費層面上施加了許多限制,例如對構(gòu)建時間、可用內(nèi)存和并行運行器數(shù)量的限制。
Drone:
缺乏知名度:相對于其他工具,Drone的知名度相對較低,這可能導致其在一些方面受到限制。
輕量級但有限制:盡管Drone被認為是一個輕量級工具,但在一些情況下可能會受到可擴展性和功能限制的影響。

Similarities and differences between open-source CI/CD tools

Similarities:

可擴展性:都具有可擴展性,支持使用插件或擴展。

集成與版本控制:都與主流的版本控制系統(tǒng)(如Git)集成,能夠與代碼存儲庫進行無縫交互。

differences:

易用性:Jenkins的配置相對較復雜,需要更多的手動配置。

托管位置:Jenkins需要在本地或自己的服務(wù)器上進行安裝和管理。GitLab CI/CD作為GitLab的一部分,Travis CI和Drone通常云托管。

語法和配置:Jenkins使用Groovy腳本,GitLab CI/CD、Travis CI使用YAML,Drone使用YAML或Web UI進行配置。

代理模型:Jenkins通常需要配置代理,GitLab CI/CD、Travis CI、Drone通常采用云服務(wù)或本地Runner執(zhí)行工作。

成本:對于小型項目,推薦Travis CI、Drone。
對于大型項目,則需要更多的資源和高級功能, GitLab CI/CD能夠通過付費選項購買更多的資源和高級功能。

License

Jenkins:MIT 許可證
GitLab CI/CD:MIT 許可證
Travis CI: MIT 許可證
Drone:Apache License 2.0 許可證。

MIT 許可證 VS Apache License 2.0
主要區(qū)別:Apache License 2.0要求內(nèi)容變更時需要在變更的文件中明確注明更改,并遵循特定的通告規(guī)則。文章來源地址http://www.zghlxwxcb.cn/news/detail-797049.html

到了這里,關(guān)于開源CI/CD工具調(diào)研的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【基于 GitLab 的 CI/CD 實踐】01、GitLab CI/CD 基礎(chǔ)概念

    【基于 GitLab 的 CI/CD 實踐】01、GitLab CI/CD 基礎(chǔ)概念

    目錄 一、為什么要做 CI/CD ? 1.1 背景-傳統(tǒng)的應(yīng)用開發(fā)發(fā)布模式 問題 1.2 持續(xù)集成與持續(xù)交付 持續(xù)集成(CI) 持續(xù)交付(CD) 持續(xù)部署(CD) 1.3 CI/CD 的價值體現(xiàn) 1.4 推薦常用的 CI/CD 工具 Jenkins GitLab 二、GitLab CI/CD 功能簡介 2.1 GitLab 內(nèi)置持續(xù)集成功能 持續(xù)集成(CI) 連續(xù)交付(

    2024年02月16日
    瀏覽(50)
  • 【CI/CD】Rancher CD過程--20230906

    【CI/CD】Rancher CD過程--20230906

    HARBOR_PASSWORD:密碼 HARBOR_USER:工號 K8S_TOKEN:Bearer + rancher key K8S_WORKLOAD_URL:選擇【View in API】的URL,并非workload的URL。 如果是新版rancher,則使用/g回去舊版界面。 選擇workload,進入【View in API】 right panel click edit Move to buttom , and click “Show Request” Copy the highlight area from “-d”

    2024年02月09日
    瀏覽(22)
  • CI/CD入門(二)

    CI/CD入門(二)

    1.1 早期手動部署代碼 純手動Scp、Rsync上傳代碼。 純手動登陸,Git pull 或者 Svn update。 純手動xftp、ftp、filezilla上傳代碼。 開發(fā)發(fā)送壓縮包,rz上傳,解壓部署代碼。 缺點: 全程運維參與,占用大量時間。 如果節(jié)點多,上線速度慢。 人為失誤多,目錄管理混亂。 回滾不及時

    2024年02月12日
    瀏覽(23)
  • Jenkins CI/CD

    Jenkins CI/CD

    1、 Jenkins CI/CD 流程圖 說明:這張圖稍微更形象一點,上線之前先把代碼git到版本倉庫,然后通過Jenkins 如Java項目通過maven去構(gòu)建,這是在非容器之前,典型的自動化的一個版本上線流程。那它有哪些問題呢? 如:它的測試環(huán)境,預生產(chǎn)環(huán)境,測試環(huán)境。會存在一定的兼容性

    2024年02月05日
    瀏覽(31)
  • CI/CD部署

    CI/CD部署

    CI和CD是軟件開發(fā)中持續(xù)集成和持續(xù)交付的縮寫。 CI代表持續(xù)集成(Continuous Integration),是一種實踐,旨在通過自動化構(gòu)建、測試和代碼靜態(tài)分析等過程,頻繁地將代碼變更合并到共享存儲庫中。其目的是快速發(fā)現(xiàn)和修復代碼問題,確保開發(fā)團隊對軟件產(chǎn)品持續(xù)交付。其中,

    2024年02月19日
    瀏覽(35)
  • CI&CD 體系介紹

    CI&CD 體系介紹

    先解釋幾個概念: 1、DevOps(Development Operations)? DevOps 是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。 ?它是一種重視“軟件開發(fā)人員(Dev)”和“IT運維技術(shù)人員(Ops)”之間溝通合作的文化、過程和工具。透過自動

    2024年02月04日
    瀏覽(24)
  • 什么是 CI/CD ?

    什么是 CI/CD ?

    說在開頭 CI、CD 其實是三個概念,包含了一個 CI 和兩個 CD,CI全稱 Continuous Integration,表示持續(xù)集成,CD包含 Continuous Delivery和 Continuous Deployment,分別是持續(xù)交付和持續(xù)部署。這三個概念之間是有前后依賴關(guān)系的。 CI/CD 并不是一個工具,它是一種軟件開發(fā)實踐,核心是通過引

    2024年02月03日
    瀏覽(24)
  • CI/CD基本流程介紹

    CI/CD基本流程介紹

    1.1CI/CD基本配置介紹: ????????????? 配置jenkins ????????????? 軟件版本管理 ????????????? ? ? ? 配置jenkins訪問gitlab代碼倉庫 ????????????? 測試下載 ????????????? 下載到子目錄 準備兩臺web服務(wù)器 ?????? 部署代碼到web服務(wù)器 自動化部署流程

    2024年02月11日
    瀏覽(30)
  • Gitlab CI/CD概述

    Gitlab CI/CD概述

    CI/CD 是一種持續(xù)開發(fā)軟件的方法,可以不斷的進行構(gòu)建、測試和部署代碼迭代更改。這種迭代有助于減少基于錯誤或失敗的版本進行開發(fā)新代碼的可能性。使用這種方法,從新代碼開發(fā)到部署,可以減少人工干預甚至不用干預。 達到持續(xù)的方法主要是: 持續(xù)集成 , 持續(xù)交付

    2024年02月12日
    瀏覽(22)
  • Jenkins與CI/CD

    Jenkins與CI/CD

    Continuous ?Integration是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。 Continuous Delivery一種軟件

    2024年02月12日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包