日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

推荐10个CI/CD工具,用于云平台集成交付

發(fā)布時(shí)間:2024/9/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐10个CI/CD工具,用于云平台集成交付 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

雖然云平臺(tái)的到來讓開發(fā)者免于安裝和維護(hù)物理服務(wù)器,但測(cè)試和部署代碼過程依舊需要人為完成,持續(xù)集成可以自動(dòng)消除構(gòu)建、測(cè)試和部署代碼的大部分痛苦。如果希望最大限度提高效率,持續(xù)集成和交付工具是最好的選擇。

實(shí)際上,所有開發(fā)者都可在軟件開發(fā)中使用CI/CD,但團(tuán)隊(duì)使用可以獲得更大優(yōu)勢(shì),尤其是大型團(tuán)隊(duì),因?yàn)樗麄兺ǔT谔幚硐嗤幕ユi代碼塊。持續(xù)集成最全面的實(shí)現(xiàn)是在測(cè)試之前構(gòu)建代碼,尋找未被發(fā)現(xiàn)的錯(cuò)誤和不兼容問題,這些可能是由不同的團(tuán)隊(duì)成員寫入代碼時(shí)創(chuàng)建的,持續(xù)集成服務(wù)器可以同步所有程序員的工作,并幫助團(tuán)隊(duì)檢測(cè)所有問題。

雖然CI/CD熱度不退,但完全自動(dòng)化的部署方式會(huì)讓團(tuán)隊(duì)管理者感到不踏實(shí),因此很多團(tuán)隊(duì)習(xí)慣在此過程中添加一些手動(dòng)暫停,并增加問責(zé)制和其他保證代碼在可控范圍內(nèi)的規(guī)則,這種混合方法被稱為持續(xù)交付,因?yàn)樗鼘⒋a提供給某一階段或測(cè)試集群,并等待開發(fā)者最終推向生產(chǎn)。

如果在服務(wù)器機(jī)房中持續(xù)集成非常好,那么在云中可以實(shí)現(xiàn)更快交付和更高效率。在最好的情況下,云可以拆分任務(wù)并行運(yùn)行。服務(wù)從大量硬件開始,然后在許多團(tuán)隊(duì)之間共享,只要所有人不同時(shí)推送代碼,構(gòu)建和測(cè)試將運(yùn)行得很快。

或許,唯一令團(tuán)隊(duì)擔(dān)心的問題就是失去控制。所有云服務(wù)都需要將代碼交給第三方,這種選擇可能讓某些人感到不自由。即便所有的云服務(wù)都在努力強(qiáng)調(diào)安全性,但依舊讓人擔(dān)心。以下是在云中進(jìn)行持續(xù)集成的10種不同選項(xiàng),可以幫助開發(fā)者更好得適應(yīng)這一過程。

CloudBees

CloudBees核心源自Jenkins,這是著名的持續(xù)集成開源項(xiàng)目,添加了測(cè)試支持以及代碼運(yùn)行保證。該公司將所有實(shí)驗(yàn)插件清理干凈,添加了一些自研實(shí)驗(yàn)插件,然后打磨正確以便在需要時(shí)如期工作。

CloudBees雇用了80%的Jenkins開發(fā)團(tuán)隊(duì),為開源項(xiàng)目貢獻(xiàn)代碼,因此可以確信他們對(duì)這個(gè)平臺(tái)有很好的理解。為了加快速度,CloudBees還添加了大量并行化工具跟蹤開發(fā)過程。

CloudBees提供各種價(jià)位,從免費(fèi)到入門套件和全年服務(wù),并為需要該工具但不需要云計(jì)算的開發(fā)者提供Jenkins支持。

AWS CodePipeline

亞馬遜用于持續(xù)集成和部署的工具AWS CodePipeline經(jīng)過優(yōu)化,可以將代碼交付給AWS服務(wù)器,同時(shí)為代碼和數(shù)據(jù)提供更復(fù)雜的路徑。基本工具為主要編程語(yǔ)言(Java,Python,Node.js,Ruby,Go,Android,.Net Core for Linux)提供了一個(gè)很好的預(yù)配置構(gòu)建環(huán)境,發(fā)送之前將結(jié)果轉(zhuǎn)儲(chǔ)到S3中并關(guān)閉服務(wù)器就可以開始運(yùn)行。

CodeBuild在CodePipe由CodePipeline觸發(fā)時(shí)從CodeCommit中獲取最新結(jié)果,并將其交給CodeDeploy。如果需要配置大量Code代碼,可以直接跳到CodeStar,這提供了另一層面的自動(dòng)化。在技術(shù)上并不需要支付任何代碼層費(fèi)用,亞馬遜收取的費(fèi)用主要是沿途使用的計(jì)算和存儲(chǔ)資源。

Bitbucket Pipelines

Atlassian是流行的Jira和代碼庫(kù)Bitbucket背后的公司,決定創(chuàng)建Bitbucket Pipelines(Bitbucket云中的持續(xù)集成工具)以包括更多集成。構(gòu)建機(jī)制和Atlassian其他工具之間的連接形式成為重點(diǎn),因此這只作為Bitbucket中項(xiàng)目的一個(gè)選項(xiàng),另一個(gè)選項(xiàng)指向部署。

如果開發(fā)者選擇為主要語(yǔ)言(Java,JavaScript,Python,PHP,.Net等)定義的模板,則只需單擊幾下即可構(gòu)建和部署代碼,除此之外的選項(xiàng)不存在。Atlassian確實(shí)鼓勵(lì)一個(gè)似乎是圖表和webhook混合到其他服務(wù)的應(yīng)用程序市場(chǎng)。在我寫這篇文章時(shí),圖表上的頂級(jí)應(yīng)用程序會(huì)將Bitbucket與Jenkins連接起來,大概是為了做一些無(wú)法在墻內(nèi)快速完成的事情。

Pipelines的主要優(yōu)點(diǎn)是速度,Atlassian已預(yù)先設(shè)計(jì)從代碼到運(yùn)行部署的大多數(shù)主要途徑,只需花費(fèi)幾美元就可以使用。很難比較使用Bitbucket的成本,因?yàn)闃?gòu)建只需幾分鐘,就像大多數(shù)無(wú)服務(wù)器模型一樣,團(tuán)隊(duì)通常會(huì)使用一組實(shí)例來處理Jenkins構(gòu)建。

GitLab CI / CD

Atlassian最大的競(jìng)爭(zhēng)對(duì)手之一是GitLab。GitLab的構(gòu)建,測(cè)試和部署機(jī)制同樣直接連接到其Git存儲(chǔ)庫(kù),因此可以根據(jù)規(guī)則觸發(fā)。該過程主要圍繞Docker容器構(gòu)建,可以大大簡(jiǎn)化圍繞Jenkins構(gòu)建必須完成的一些配置工作。

構(gòu)建任務(wù)可以針對(duì)任何語(yǔ)言,但必須由GitLab Runner觸發(fā),GitLab Runner是一個(gè)用Go編寫的自動(dòng)縮放工具,適用于大多數(shù)平臺(tái)。這種靈活性意味著可以在其他計(jì)算機(jī)上觸發(fā)任何任務(wù),這對(duì)于精心設(shè)計(jì)的架構(gòu)而言可能非常有用,這些架構(gòu)不僅僅提供微服務(wù)。

定價(jià)與級(jí)別捆綁在一起以滿足需求,最高級(jí)別可以獲得最佳功能,比如安全儀表板和在共享機(jī)器集群上構(gòu)建50,000分鐘,部分流程中使用自己的計(jì)算機(jī)或在其他云中使用單獨(dú)的實(shí)例是免費(fèi)的。

CircleCI

許多持續(xù)集成工具專注于在Linux環(huán)境中構(gòu)建代碼。CircleCI既可在Linux環(huán)境中構(gòu)建和提供,也可以構(gòu)建Android應(yīng)用程序以及Xcode(適用于iOS,MacOS,tvOS或watchOS)。

CircleCI使用Docker,在其所有層次中為代碼配置測(cè)試環(huán)境。構(gòu)建從新容器開始,所有測(cè)試也是如此,Mac工作在類似的虛擬機(jī)中,避免了配置中的一些問題。

定價(jià)主要集中在構(gòu)建的CPU數(shù)量上。用戶數(shù)和存儲(chǔ)庫(kù)數(shù)量上限為無(wú)窮大,但構(gòu)建分鐘數(shù)和容器數(shù)是計(jì)量的。第一個(gè)容器是免費(fèi)的,可以在其中運(yùn)行一個(gè)構(gòu)建,如果想要更多并行性或更高吞吐量,需要收費(fèi)。

Travis CI

如果構(gòu)建需要在Windows機(jī)器上測(cè)試的代碼,那么Travis CI可以提供一站式服務(wù)。該公司已經(jīng)提供了一段時(shí)間的MacOS和Linux選項(xiàng),剛剛推出Windows選項(xiàng),讓生成更多代碼變得更加簡(jiǎn)單。

目前,Linux代碼支持Ubuntu基本版本,Mac代碼以O(shè)S X,Xcode和JDK的十幾種組合之一運(yùn)行。Windows代碼只支持一個(gè)版本的Windows Server(1803)。Travis CI提供30多種語(yǔ)言支持列表,并構(gòu)建預(yù)先配置且可以運(yùn)行的規(guī)則。

定價(jià)基于一次執(zhí)行的并發(fā)任務(wù)數(shù),但這些構(gòu)建可以占用的分鐘數(shù)沒有正式限制。定制化工作沒有免費(fèi)選項(xiàng),但開源項(xiàng)目永遠(yuǎn)免費(fèi),這可能是嘗試Travis CI最簡(jiǎn)單的方法。

Azure Pipelines

雖然,Azure可能沒有太多提供ENIAC程序員,但確實(shí)為代碼提供Microsoft、Linux和MacOS路徑。該堆棧包含Docker容器和Azure硬件。如果更喜歡命令行,則可以使用YAML指定。

有免費(fèi)并行任務(wù)試用,1800分鐘的構(gòu)建時(shí)間。如果想要更多的并行性或更多構(gòu)建時(shí)間則需要付費(fèi)。

CodeShip

使用持續(xù)集成工具時(shí),配置任務(wù)列表通常是最大的挑戰(zhàn)。CodeShip在兩個(gè)服務(wù)級(jí)別采用兩種不同的方法。基礎(chǔ)版本計(jì)劃包括大量自動(dòng)化和預(yù)配置以及圖形用戶界面,用于設(shè)置任務(wù)的大致輪廓。高級(jí)版本允許配置和用于定義構(gòu)建環(huán)境的Docker容器,可以選擇將多少個(gè)構(gòu)建專用于任務(wù)以及可能的配置。

基礎(chǔ)版本提供免費(fèi)套餐,包括一臺(tái)構(gòu)建機(jī)器,無(wú)限制項(xiàng)目和人員,但每月只有100個(gè)構(gòu)建。如果超過100個(gè)項(xiàng)目,并希望在一個(gè)月內(nèi)完成所有項(xiàng)目,則需要付費(fèi)。一旦付費(fèi),就沒有構(gòu)建數(shù)量或者花費(fèi)多少時(shí)間的上限,只需選擇構(gòu)建和測(cè)試即可處理任務(wù)。

Sauce Labs

以上大多數(shù)工具集中在編排從存儲(chǔ)庫(kù)到部署的代碼流,Sauce Labs則專注于測(cè)試。基于云的服務(wù)提供了各種各樣的組合,以確保一切正常。如果想在Windows 10上運(yùn)行的Firefox 58上進(jìn)行測(cè)試,或者在MacOS上的Firefox 56,只要選擇Java,Node,Ruby或PHP等其中之一,測(cè)試腳本就可以用選擇的語(yǔ)言編寫,云將并行定位每個(gè)處理器。 Sauce Labs專門將測(cè)試與其他CI工具或管道集成,因此可以在本地運(yùn)行Jenkins,然后將測(cè)試委托給Sauce Labs。

Jenkins and Hudson

在云中啟動(dòng)持續(xù)集成最簡(jiǎn)單的方法之一是租用服務(wù)器實(shí)例并啟動(dòng)Jenkins或Hudson。二者很久以前就開始用作測(cè)試Java代碼的程序,當(dāng)開發(fā)人員和Oracle之間出現(xiàn)爭(zhēng)議時(shí),其分成了兩個(gè)陣營(yíng),開發(fā)人員需要認(rèn)真查看開源許可。

雖然Jenkins和Hudson可能已經(jīng)開始作為構(gòu)建Java項(xiàng)目的工具,但其早已超越這個(gè)利基市場(chǎng),并可處理幾乎所有語(yǔ)言,有數(shù)千個(gè)插件來處理構(gòu)建、打包、測(cè)試和部署。代碼是開源的,因此使用時(shí)不需要額外付費(fèi),只需支付服務(wù)器費(fèi)用和配置時(shí)間。

參考鏈接:https://www.infoworld.com/article/3341320/ci-cd/cicd-as-a-service-10-tools-for-continuous-integration-and-delivery-in-the-cloud.html?nsdr=true\u0026amp;page=2

總結(jié)

以上是生活随笔為你收集整理的推荐10个CI/CD工具,用于云平台集成交付的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。