<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          TeamCity VS Jenkins:選擇正確的CI / CD工具

          共 7059字,需瀏覽 15分鐘

           ·

          2020-10-12 18:40


          每個軟件開發(fā)周期都涉及三個主要階段:構(gòu)建,測試和部署。這三個階段中的任何一個滯后都會導(dǎo)致產(chǎn)品發(fā)布的延遲。為了避免此類延遲,組織依靠CI / CD工具來自動化這些過程。但是最近,隨著對CI / CD工具的快速需求,選擇泛濫,選擇正確的工具可能是艱巨的任務(wù)!

          您當(dāng)然應(yīng)該關(guān)注的兩個流行的CI / CD工具是Jenkins和TeamCity,它們各自具有自己的獨特功能。這兩個CI / CD工具廣泛用于自動將頻繁的代碼更改推送到主分支,同時在每個步驟執(zhí)行DevOps測試以確保構(gòu)建中的錯誤更少。

          在有關(guān)TeamCity vs.Jenkins的這篇文章中,我試圖幫助您選擇適合您需要的正確CI / CD工具。在開始進行TeamCity與Jenkins的比較之前,我將從CI / CD的基礎(chǔ)知識開始。如果您已經(jīng)知道它,可以直接進入TeamCity vs. Jenkins部分。

          什么是CI / CD?為何重要?

          持續(xù)集成(CI)中,更改經(jīng)常被集成到共享存儲庫中,在其中定期執(zhí)行構(gòu)建和DevOps測試(可選步驟)以進行早期錯誤檢測,從而提高了產(chǎn)品質(zhì)量。將其與持續(xù)交付結(jié)合使用,您將獲得更快,更穩(wěn)定的構(gòu)建。

          持續(xù)交付(CD)僅在CI完成后才發(fā)生,并且由自動管道組成,可以在其中將代碼更改從一個暫存環(huán)境部署到另一個暫存環(huán)境。它包括使軟件可部署所需的所有必要步驟(即使用測試工具進行質(zhì)量檢查,軟件簽名,部署到預(yù)生產(chǎn)環(huán)境等)。這使部署更容易,更快捷,同時將錯誤修復(fù)和增強上的花費降至最低。

          CI / CD通常與Selenium測試自動化一起使用,以在將其推送到新環(huán)境中或集成在一起時對其進行測試,這稱為連續(xù)測試或DevOps測試。CI / CD與TDD(測試驅(qū)動開發(fā))結(jié)合使用時,可以有效地結(jié)合在一起,因為它可以用于識別產(chǎn)品中與業(yè)務(wù)相關(guān)的錯誤。

          如前所述,有幾種可用的工具,其中一些流行的CI / CD工具是:

          • Jenkins

          • TeamCity

          • Travis CI

          • Circle CI

          • Bamboo

          • GitLab CI

          • AWS CodePipeline

          • Azure Pipelines

          市場上有如此眾多的CI / CD工具,因此選擇滿足項目需求的工具就成為了挑戰(zhàn)。如果您正在尋找最好的CI / CD工具,那么您來對地方了,因為在這里我們進行了TeamCity與Jenkins的比較。

          LambdaTest,一個基于云的跨瀏覽器測試平臺,提供了與流行的CI / CD工具(例如Jenkins,TeamCity,Travis CI等)的集成,因此您可以構(gòu)建強大的交付渠道以加快上市進程。

          JenKins介紹

          Jenkins是廣泛使用的開源CI / CD工具之一。它是由Sun的一位工程師作為附帶項目啟動的,后來逐漸發(fā)展成為用于部署自動化的最受歡迎的開源CI工具之一。

          它基于Java,可以自動執(zhí)行與軟件的構(gòu)建,測試,部署和交付相關(guān)的任務(wù)。Jenkins可在Windows,macOS和其他Unix版本(例如Red Hat,Ubuntu,OpenSUSE等)上使用。除了使用本機安裝軟件包進行安裝外,還可以將其作為Docker或獨立安裝在已安裝JRE(Java運行時環(huán)境)的任何計算機上。

          詹金斯(Jenkins)項目產(chǎn)生兩條發(fā)布線–每周和長期支持(LTS)。Jenkins具有高度的可擴展性和豐富的插件,安裝也很容易。借助Jenkins,開發(fā)人員可以專注于其核心活動,因為集成和測試的主要部分由該工具管理。

          在撰寫本文時,針對LTS的Jenkins的最新版本分別為2.235.1和每周2.224。

          TeamCity簡介


          TeamCity是由JetBrains創(chuàng)建的基于Java的CI / CD工具,JetBrains是PyCharm,IntelliJ Idea,RubyMine,ReShaper等其他有用工具的生產(chǎn)者(Source)。小型團隊可以免費使用TeamCity。

          該產(chǎn)品的口號是“開箱即用的強大持續(xù)集成”,正如TeamCity提供源代碼控制,構(gòu)建鏈工具和詳細(xì)的構(gòu)建歷史一樣,它兌現(xiàn)了自己的承諾-像Jenkins這樣的免費工具中沒有這些功能。

          可以將其安裝在Windows和Linux服務(wù)器上。它還提供對.Net框架的支持,并且可以集成到IDE(如Visual Studio和Eclipse)中。在撰寫本文時,TeamCity的最新版本為2020.1此版本支持條件構(gòu)建步驟,您也可以在Kubernetes集群中啟動構(gòu)建代理。您還可以選擇與流行的項目管理工具(例如Azure DevOps和Jira)集成。

          讓我們深入研究流行的CI / CD工具的詳細(xì)數(shù)據(jù)– TeamCity vs Jenkins。

          TeamCity vs. Jenkins –詳細(xì)比較

          以下是TeamCity與Jenkins的Google趨勢報告(過去12個月),該報告表明,與TeamCity相比,Jenkins更受歡迎。

          這是執(zhí)行TeamCity與Jenkins比較的主要參數(shù)。

          1.安裝與配置

          安裝和配置TeamCity服務(wù)器很容易,因為它只涉及下載適當(dāng)?shù)腡eamCity服務(wù)器安裝并執(zhí)行安裝(或升級)說明。TeamCity官方站點上大量文檔使此任務(wù)更加容易。

          Jenkins是一個自包含的Java程序,易于安裝,并且可以在OS X,Windows和基于Unix的操作系統(tǒng)中直接使用。如果已經(jīng)安裝了Java和Apache TomCat,則需要執(zhí)行三個安裝步驟。總體而言,設(shè)置詹金斯的過程很容易。Jenkins的配置是通過Web界面執(zhí)行的,該界面包括內(nèi)置幫助和即時錯誤檢查。

          總體而言,如果您按照必要的安裝步驟進行安裝,則Jenkins和TeamCity都非常簡單。

          2.可擴展性和定制

          Jenkins和TeamCity都提供RESTful API以實現(xiàn)可擴展性。使用TeamCity,您可以通過多種方式進行自定義,交互和擴展服務(wù)器。有一些選項可以通過RESTful API執(zhí)行交互,使用構(gòu)建腳本中的服務(wù)消息,以及使用Open API為TeamCity創(chuàng)建插件。可擴展性的水平還取決于所使用的TeamCity的類型。有關(guān)TeamCity的可擴展性和自定義的更多詳細(xì)信息,請參見此處

          Jenkins的遠(yuǎn)程訪問API有三種樣式-XML,Python和具有JSONP支持的JSON。Jenkins中的API用于獲取信息,以觸發(fā)新的構(gòu)建來創(chuàng)建或復(fù)制作業(yè)。

          3.插件生態(tài)系統(tǒng)

          與TeamCity相比,Jenkins的插件生態(tài)系統(tǒng)更加成熟。主要原因是社區(qū)參與了詹金斯的發(fā)展。TeamCity有大約400個插件(更精確地說是393個)人群開發(fā)的插件。這些插件可在TeamCity插件頁面上下載插件必須單獨安裝,因為它們不一定是商業(yè)產(chǎn)品的一部分。

          通過使用Open API,開發(fā)人員可以創(chuàng)建用于與版本控制系統(tǒng),構(gòu)建工具,IDE,通知程序和服務(wù)器運行狀況報告集成的插件。

          相比之下,Jenkins在社區(qū)及其豐富的插件生態(tài)系統(tǒng)中蒸蒸日上。在撰寫本文時,Jenkins提供了1500多個受社區(qū)支持的插件,并支持項目中的構(gòu)建,部署和自動化。由于插件的范圍從構(gòu)建工具到特定于語言的開發(fā)工具,它使自定義任務(wù)簡單且具有成本效益,因為您不需要昂貴的內(nèi)部自定義。

          4.云與密鑰集成

          TeamCity通過插件和非捆綁插件提供與流行的云解決方案的集成。它通過在流行的云平臺上動態(tài)擴展其構(gòu)建代理來利用云計算的優(yōu)勢。

          通過插件進行云集成的示例很少有Amazon EC2,VMWare vSphere和Kubernetes(在2020.1版中受支持)。云集成的非捆綁插件是Windows Azure中,谷歌云,數(shù)字海洋云,和更多對于對在TeamCity中實現(xiàn)云支持感興趣的開發(fā)人員,詳細(xì)的文檔有關(guān)TeamCity與云(IAAS)解決方案集成的詳細(xì)信息

          除了云集成,它支持與碼頭工人,Maven的,Visual Studio團隊服務(wù),的NuGet,VCS托管服務(wù),并重點整合更多

          Jenkins還可以使用插件與流行的云平臺集成,例如Amazon EC2,VMWare vSphere,Google Cloud,Atlassian Cloud等以下是有關(guān)針對流行云平臺的Jenkins安裝和配置的詳細(xì)信息:

          平臺
          下載鏈接
          亞馬遜EC2
          https://plugins.jenkins.io/ec2/
          谷歌云
          https://cloud.google.com/jenkins
          微軟Azure
          https://docs.microsoft.com/zh-CN/azure/developer/jenkins/
          Digital Ocean
          https://plugins.jenkins.io/digitalocean-plugin/
          Atlassian Cloud
          https://confluence.atlassian.com/adminjiracloud/integrate-jira-software-cloud-with-jenkins-972355471.html

          5.社區(qū)支持

          TeamCity和Jenkins都有一個活躍的社區(qū)論壇。Jenkins的優(yōu)勢在于,與TeamCity相比,它的開發(fā)和使用時間更長。活躍且不斷發(fā)展的社區(qū)是Jenkins的主要優(yōu)點之一。

          常規(guī)主題和插件開發(fā)是TeamCity社區(qū)的兩個部分社區(qū)有助于知識共享和問題共享。除社區(qū)論壇外,TeamCity還擁有一個活躍的TeamCity博客,該博客中TeamCity團隊提供與產(chǎn)品和功能更新有關(guān)的信息。

          在TeamCity與Jenkins的比較中,就社區(qū)而言,Jenkins在TeamCity方面具有較高優(yōu)勢。由于Jenkins是一個開源項目,因此Jenkins的用戶依賴社區(qū)來滿足大多數(shù)需求(即安裝,故障排除等)。Jenkins項目和社區(qū)互動的一些流行方式是經(jīng)驗共享,編碼,翻譯,文檔,審查,設(shè)計等。

          6.功能

          TeamCity和Jenkins具有強大的功能集,使該產(chǎn)品非常適合CI / CD

          技術(shù)意識是TeamCity的主要賣點。由于用于集成的方法,它被稱為“智能CI服務(wù)器”。有了對VS項目的支持,您將獲得對測試框架,代碼覆蓋率,工具版本的自動檢測,靜態(tài)代碼分析等的支持,所有這些支持都是現(xiàn)成提供的,不需要在構(gòu)建腳本或其他插件安裝。

          可以訪問ReShaper和IntelliJ IDEA對Java和.NET代碼進行代碼分析和檢查,從而有助于確保更好的代碼質(zhì)量。

          由于插件的可用性,Jenkins不僅用于構(gòu)建代碼,而且還用于分析代碼。幾乎所有版本控制系統(tǒng)和構(gòu)建環(huán)境均受支持。在詹金斯(Jenkins)項目下實施了許多協(xié)作計劃,這些計劃有助于詹金斯(Jenkins)的擴張。

          7.易用性

          與Jenkins相比,TeamCity提供了更好,更清晰的界面。該界面可以根據(jù)要求輕松定制。這并不意味著Jenkins不可用,主要的可用性差異在于Jenkins更加關(guān)注功能而不是可用性(即功能先于外觀)。

          TeamCity的主要組件是服務(wù)器,而瀏覽器托管的界面用于管理項目,代理和項目配置。

          如果您的團隊精通Jenkins及其插件生態(tài)系統(tǒng),則經(jīng)驗可能會有所不同。如果您的團隊正在尋找更友好的選擇(即易于配置和易于使用),則應(yīng)簡要介紹一下TeamCity。

          8.托管

          TeamCity僅在本地版本中可用。如果打算像在自托管服務(wù)器上那樣設(shè)置TeamCity,則可以使用反向代理(Nginx)進行相同的操作。與其嘗試對托管的TeamCity進行這些其他配置,不如嘗試Jenkins。

          Jenkins提供基于云和內(nèi)部部署的版本。Jenkins適合在云中安裝以運行自托管管道。有關(guān)使用Jenkins進行規(guī)模設(shè)計的詳細(xì)文章利用Jenkins的本地CI / CD優(yōu)勢的很好參考。

          9.發(fā)布周期

          在發(fā)布周期方面,TeamCity和Jenkins同樣出色。TeamCity 2020.1.1已于2020年6月23日發(fā)布。更改日志已得到詳細(xì)記錄,您可以選擇下載或回退以前的版本。

          Jenkins的發(fā)布也不錯。它遵循在Ubuntu中也使用的LTS(長期支持)發(fā)行概念。Jenkins的最新穩(wěn)定版本是2020年6月17日發(fā)布的2.235.1。有單獨的LTS更新日志每周更改日志

          10.分布式運行(或執(zhí)行)

          TeamCity和Jenkins都可以分布式運行,即任務(wù)通過不同的計算機運行,而不會影響GUI(圖形用戶界面)。

          重要的是要注意,只有Jenkins可以使用其運行GUI相關(guān)任務(wù)的相同實例。這可能會導(dǎo)致詹金斯表現(xiàn)不佳。

          11.并行性

          TeamCity與Jenkins的并行性比較意味著任務(wù)可以在同一臺計算機上同時運行,而分布式則表明任務(wù)可以在不同的計算機上擴展。

          您可以在TeamCity和Jenkins上針對不同的構(gòu)建和環(huán)境運行并行構(gòu)建。詹金斯(Jenkins)通過并行階段執(zhí)行此操作,這是幾年前在產(chǎn)品中引入的功能。

          并行化在某種程度上起作用,直到運行構(gòu)建的工具支持它為止。TeamCity并不限制支持并行性的工具使用它(Source)。

          另一方面,Jenkins中的并行化只是要啟用Parallel Test Executor插件TeamCity的用戶還提到Jenkins在并行性方面更加友好

          Jenkins支持并行構(gòu)建,但是它們共享相同的環(huán)境,這可能導(dǎo)致共享資源出現(xiàn)問題。總體而言,在TeamCity與Jenkins的比較中,Jenkins贏得了并行構(gòu)建(或并行化)方面的支持。

          12.開源或商業(yè)

          Jenkins是開源的(根據(jù)MIT許可證獲得),可以免費使用。由于它是免費的,因此許多較小的組織更喜歡Jenkins而不是TeamCity。所涉及的唯一成本將是運行基礎(chǔ)結(jié)構(gòu)。廣泛的插件和在線社區(qū)是Jenkins的關(guān)鍵支柱。

          TeamCity有兩種版本(Professional Server許可證和Build Agent許可證),您可以根據(jù)需要選擇合適的版本。這是TeamCity定價結(jié)構(gòu)的要點:

          • 免費提供100種構(gòu)建配置和3種構(gòu)建代理。

          • 額外的構(gòu)建代理許可證售價299美元,其中包括一個附加的構(gòu)建代理。

          還有其他的選擇-一個為創(chuàng)業(yè)陡峭的50%的折扣,并免費為開源項目有關(guān)TeamCity定價的更多詳細(xì)信息,請參見此處

          如果價格是一個因素,您應(yīng)該選擇Jenkins而不是TeamCity,因為Jenkins是開源的,可以免費使用。

          在LambdaTest,我們為您的DevOps測試工作提供了與流行的CI / CD工具的集成,以幫助您建立健壯的交付渠道,以加快上市速度

          TeamCity與Jenkins比較快照

          這是TeamCity與Jenkins比較的快照

          特征TeamCityJenkins
          產(chǎn)品類別內(nèi)部部署自托管/內(nèi)部部署
          安裝與安裝簡單簡單
          使用方便打開即用的用戶友好性相對于外觀而言,用戶關(guān)注度相對較低,因為它著重于功能性
          官方支持沒有官方支持,但是在IRC,Jenkins論壇和其他支持渠道上提供了廣泛支持。
          插件生態(tài)系統(tǒng)沒有那么豐富的插件生態(tài)系統(tǒng)插件蓬勃發(fā)展(目前有近1500多個插件可用)
          并行化是(部分)
          報告中
          建立管道是的,允許使用基于Kotlin的DSL(域特定語言)定義管道是的,通過Jenkins Pipeline DSL支持自定義管道。
          積分是的,Amazon EC2,VMWare vSphere,Google Cloud等主要集成:Docker,Maven,Visual Studio Team Services,NuGet,VCS托管服務(wù)


          是的,通過Jenkins插件,Amazon EC2,VMWare vSphere,Google Cloud,Atlassian Cloud,Slack等
          在線文件博客,支持論壇,Youtube頻道等等。是的,博客,支持論壇,IRC,事件等。
          開源或商業(yè)免費提供100個構(gòu)建配置免費(開源)

          兩種產(chǎn)品在功能比較方面沒有太大差異,您需要有意識地指出適合該項目的產(chǎn)品類型。您是否打算使用像Jenkins這樣的開源CI / CD工具,該工具功能豐富但使用起來不太友好?您是否要使用像TeamCity這樣的高級替代產(chǎn)品,它又功能豐富且用戶友好?答案應(yīng)該與您的期望(從工具本身)和總體項目要求(包括預(yù)算)一起劃掉。

          總而言之

          我詳細(xì)介紹了兩種流行的CI / CD工具-Jenkins和TeamCity。選擇正確的CI / CD工具對于加快上市速度至關(guān)重要。同樣,最近的DevOps測試也起著至關(guān)重要的作用,以確保構(gòu)建質(zhì)量。對于Web應(yīng)用程序的DevOps測試,您可以選擇Selenium來執(zhí)行自動瀏覽器測試,并且可以使用云Selenium Grid來進行,也可以擴展測試工作。與選擇正確的測試自動化框架以加快測試活動一樣重要


          如何在Selenium WebDriver中處理Web表?
          Python中的正則表達式(二)
          Python中的正則表達式和示例
          Python中的文件處理
          Python中的用戶定義異常與NZEC錯誤


          瀏覽 81
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产,黄片,免费,在线看 | 大香蕉在线观看免费全集高清 | 亚色中文网 | 大香蕉综合一二 | 亚洲婷婷五月天 |