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

解決 Jenkins 性能緩慢的問題~轉(zhuǎn)

這篇具有很好參考價值的文章主要介紹了解決 Jenkins 性能緩慢的問題~轉(zhuǎn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

解決 Jenkins 性能緩慢的問題

jenkins安裝插件太慢,jenkins

Docker中文社區(qū)

??

jenkins安裝插件太慢,jenkins

計算機技術(shù)與軟件專業(yè)技術(shù)資格持證人

2 人贊同了該文章

jenkins安裝插件太慢,jenkins

沒有什么比緩慢的持續(xù)集成系統(tǒng)更令人沮喪的了。它減慢了反饋循環(huán)并阻止代碼快速投入生產(chǎn)。雖然像使用性能更好的服務(wù)器可以為您爭取時間,但您最終必須投資于維持持續(xù)集成工作流程的成本。

Jenkins 是目前最流行的 CI/CD 工具之一,但隨著時間的推移,用戶經(jīng)常會遇到滯后和響應(yīng)緩慢問題。在本指南中,我將分享一些 Jenkins 性能問題的概述,以及一些無需升級硬件即可顯著提高性能的技巧。

1. 為什么 Jenkins 如此受歡迎的 CI/CD 選擇?

Jenkins 是一種基于 Java 的開源工具,成千上萬的開發(fā)人員在數(shù)十萬次安裝中使用它,使其成為最受歡迎的自動化集成工具。這種廣泛使用意味著很容易找到對 Jenkins 的支持和提示,但這并不是它如此廣泛使用的唯一原因。

Jenkins 為 CI 工作流程帶來了許多有趣的范例,包括:

  • 更快的部署。在所有開發(fā)人員提交他們的代碼之后,一次測試和部署構(gòu)建的日子已經(jīng)一去不復(fù)返了。使用 Jenkins 的自動化 CI/CD 管道,無論何時開發(fā)人員提交代碼,它都會在一天中跨多個周期進(jìn)行構(gòu)建和測試。
  • 可擴展的主代理架構(gòu)。在大規(guī)模管理分布式構(gòu)建時,Jenkins 可能是一個不錯的選擇。Jenkins 的主服務(wù)器是調(diào)度構(gòu)建作業(yè)并將它們分配給代理(以前是從屬)執(zhí)行的主服務(wù)器。此模式允許您在一臺或數(shù)百臺服務(wù)器上運行 Jenkins 以加快構(gòu)建速度。
  • 數(shù)以千計的插件:作為一個開源平臺,Jenkins 為其他開發(fā)人員構(gòu)建的持續(xù)集成提供了大量插件。這允許您擴展基本功能,而無需在內(nèi)部編寫或維護(hù)大量額外代碼。

2. 克服常見的 Jenkins 性能問題

隨著時間的推移,構(gòu)建頻率的增加、并行運行的多個作業(yè)以及構(gòu)建復(fù)雜性的增加可能會導(dǎo)致 Jenkins 出現(xiàn)性能問題。您的體驗可能會因您的使用場景而異,但一些常見問題包括:

  • 每次運行時構(gòu)建似乎都“卡在”特定步驟的“中斷”。
  • 達(dá)到單個機器或主節(jié)點的內(nèi)存限制。
  • CPU 瓶頸會減慢構(gòu)建的特定部分。
  • 插件或腳本中的錯誤或低效代碼。
  • 由于這些問題可能是由多種根本原因引起的,因此很難概括解決方案,但 Jenkins 用戶可能想要研究一些事情。以下是一些最通用的方法,您可以提高 Jenkins 構(gòu)建性能并限制上述問題的頻率。
2.1 避免在管道中使用復(fù)雜的 Groovy 腳本

Jenkins Groovy腳本控制臺在主節(jié)點上執(zhí)行并直接使用主資源,例如CPU和存儲器。因此,建議您減少管道中 Groovy 腳本的數(shù)量和復(fù)雜性,轉(zhuǎn)而可以直接使用在每個代理上運行的插件。

在 Jenkins 中要避免的最常見的 Groovy 方法是 JsonSlurper、Jenkins.getInstance 和 HttpRequest。Jenkins在其博客上有更多關(guān)于可擴展管道代碼和要避免的操作的建議。

2.2 在主節(jié)點上保持最少的構(gòu)建

Jenkins 的主節(jié)點位于應(yīng)用程序運行的整個 CI/CD 流程的中心。因此,主節(jié)點上的構(gòu)建數(shù)量會顯著影響資源使用。在主節(jié)點上保持較少的構(gòu)建將為代理節(jié)點留出足夠的 CPU 和內(nèi)存來安排和觸發(fā)作業(yè)。

您可以在工作中使用“限制項目可以運行的位置”選項。雖然 Jenkins 仍將在主節(jié)點上運行輕量級執(zhí)行器,但您的重量級執(zhí)行器將在代理節(jié)點上運行。

將主節(jié)點視為 Jenkins 的大腦。與代理不同,主節(jié)點不能被清除或替換。因此,為確保最佳 CI/CD 功能,請考慮對 Jenkins 進(jìn)行一些性能調(diào)整,并將主節(jié)點從不必要的任務(wù)中解放出來。這將為您提供足夠的內(nèi)存和 CPU 來有效調(diào)度和構(gòu)建代理上的觸發(fā)器。

2.3 不要過渡 Jenkins 主節(jié)點插件安裝

DevOps 專業(yè)人員經(jīng)??缍鄠€團(tuán)隊和項目工作,以完成與 CI/CD 相關(guān)的任務(wù)。如果這是您的情況,請注意不要給單個 Jenkins master 帶來負(fù)擔(dān)。相反,創(chuàng)建多個主控。多個 master 將確保為 master 分配項目特定的資源,并且您還將避免插件沖突。

此外,不要設(shè)置可能在周期中的任何地方失敗的長時間構(gòu)建,記住將構(gòu)建分解為多個較小的作業(yè)。

2.4 輕松管理代理

在設(shè)置 Jenkins 時,正確設(shè)置代理很重要。您希望確保在時機成熟時,您可以輕松添加新代理或替換現(xiàn)有代理。為此,請考慮為代理創(chuàng)建虛擬機鏡像。您也可以考慮在 Kubernetes 或Amazon EKS等可擴展集群中的Docker 容器內(nèi)運行 Jenkins。

使用具有通用性的代理也是一個好主意;一個代理應(yīng)該運行多個不同的作業(yè)并最大限度地利用資源。

2.5 刪除構(gòu)建歷史

一段時間后,Jenkins 構(gòu)建可能會堆積起來,磁盤消耗可能會失控。開發(fā)人員經(jīng)常忽略 Jenkins 的Discard Old Builds選項。設(shè)置指標(biāo),例如構(gòu)建數(shù)量和保留構(gòu)建和工件的天數(shù),位于 Jenkins Log Rotation 菜單下。

與其讓舊版本累積并消耗文件系統(tǒng),開發(fā)人員可以啟用Discard Old Builds并在 Jenkins 作業(yè)完成后享受自動資源使用清理。您還可以使用 G1 垃圾收集器來代替 Java 8 的默認(rèn)Parallel GC,因為前者是一種服務(wù)器風(fēng)格的垃圾收集器,具有較低的 GC 暫停時間。

也可以通過 Jenkins 命令行手動刪除構(gòu)建,或者使用定期清理舊構(gòu)建的cron 作業(yè)。您可以在此參考文章中找到丟棄舊構(gòu)建數(shù)據(jù)的其他選項https://support.cloudbees.com/hc/en-us/articles/215549798-Deleting-Old-Builds-Best-Strategy-for-Cleanup-and-disk-space-management。

2.6 防止并行作業(yè)中的資源沖突

并行運行的作業(yè)可能需要獨占訪問端口或資源。這可能會導(dǎo)致沖突、構(gòu)建失敗并進(jìn)一步減慢 Jenkins 流水線。例如,如果您并行運行多個構(gòu)建,則它們在訪問資源時很有可能發(fā)生沖突,例如 Postgres 的數(shù)據(jù)庫端口 5432。

Jenkins 提供Throttle Concurrent Builds插件來幫助調(diào)節(jié) Jenkins 節(jié)點上的并發(fā)構(gòu)建數(shù)量:

//Throttleasingleoperation throttle(['test_1']){ node(){ sh"sleep100" echo"Done" } }

2.7 控制堆大小

您想創(chuàng)建以性能為導(dǎo)向且永不會因內(nèi)存泄漏或內(nèi)存不足錯誤而失敗的 CI/CD 管道嗎?注意堆大小。隨著 Jenkins 構(gòu)建數(shù)量的增長,如果不注意默認(rèn)堆大小可能會導(dǎo)致內(nèi)存不足錯誤。

大多數(shù)現(xiàn)代 Java 應(yīng)用程序在啟動期間都使用最大堆大小配置。為了讓 Jenkins 順利運行,請將最大堆大小屬性降低到最大4 GB。您可以隨時間增加堆大小,具體取決于 Jenkins 構(gòu)建。

要將堆大小設(shè)置為 4 GB:

  • /etc/default/jenkins
  • JAVA_ARGS="-Xmx4096m"
2.8 避免插件過載

Jenkins 擁有超過一千個可用插件,為其用戶提供了許多功能來增強他們的 CI/CD 管道。但是,在向管道添加插件和外部服務(wù)時,請牢記性能。將 Jenkins 與外部服務(wù)集成通常會減慢 Jenkins UI 并導(dǎo)致不利影響,例如代理丟失或斷開連接。

為了確定插件是否導(dǎo)致您的構(gòu)建速度變慢,您可以嘗試在禁用所有或部分插件的情況下運行構(gòu)建。逐漸添加每個返回以確定導(dǎo)致瓶頸的原因。找到導(dǎo)致性能問題的插件(或插件組合)后,您有幾個選擇:

  • 通過搜索Jenkins Plugin Index找到替換插件。
  • 通過檢查changelog來查看Jenkins 是否添加了對這個特性的原生支持。您可能必須升級 Jenkins 才能獲得最新功能,但這通常是提高性能的好主意。
  • 用自定義腳本替換插件,記住這可能會引入新的性能問題。不過,如果您安裝一個復(fù)雜的插件,但只使用一兩個小功能,腳本可能會更有效。
  • 如果您可以沒有它,請刪除該插件。有時這是一個值得的權(quán)衡。

3.0 跟蹤 Jenkins 性能

當(dāng)您開始調(diào)整 Jenkins 性能時,您可能有興趣添加一個插件來幫助監(jiān)控和提高性能。例如,您可以利用Jenkins Monitoring 插件深入了解您的 CI/CD 管道,包括:

  • 錯誤日志
  • CPU、內(nèi)存和平均系統(tǒng)負(fù)載圖表
  • 關(guān)于 HTTP 會話和 HTTP 響應(yīng)時間的報告
  • 構(gòu)建時間和構(gòu)建步驟的詳細(xì)統(tǒng)計信息
  • 所有節(jié)點的聚合堆直方圖

jenkins安裝插件太慢,jenkins

Jenkins 性能監(jiān)控工具

這可以幫助您評估性能調(diào)整的有效性,并在您繼續(xù)改進(jìn) Jenkins 安裝時為您提供指導(dǎo)。

jenkins安裝插件太慢,jenkins

4.0 總結(jié)

Jenkins 的響應(yīng)能力問題很常見,尤其是在處理較重的構(gòu)建時。損壞的 Jenkins CI/CD 管道可能會拖延您的開發(fā)團(tuán)隊并創(chuàng)建不必要的依賴項。本文中討論的技巧應(yīng)該可以幫助您顯著提高 Jenkins CI/CD 管道的性能。文章來源地址http://www.zghlxwxcb.cn/news/detail-774086.html

本文轉(zhuǎn)載自:「云原生技術(shù)愛好者社區(qū)」,原文: https://mp.weixin.qq.com/s/u34d-xTZZDs53ZLfqtilxQ,版權(quán)歸原作者所有。

到了這里,關(guān)于解決 Jenkins 性能緩慢的問題~轉(zhuǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 如何解決jenkins插件下載失敗問題

    如何解決jenkins插件下載失敗問題

    ?? 視頻學(xué)習(xí): 文末有免費的配套視頻可觀看 ??? 關(guān)注公眾號【互聯(lián)網(wǎng)雜貨鋪】,回復(fù) 1? ,免費獲取軟件測試全套資料,資料在手,漲薪更快 從 jenkins 官網(wǎng)上下載的 jenkins,在安裝的過程中,會有安裝插件一環(huán): 第一個為默認(rèn)安裝,第二個為手動 選擇默認(rèn)安裝之后,會遇

    2024年04月11日
    瀏覽(29)
  • Docker 安裝部署jenkins服務(wù),安裝插件出現(xiàn)錯誤,安裝插件異常 版本異常插件不可用問題

    Docker 安裝部署jenkins服務(wù),安裝插件出現(xiàn)錯誤,安裝插件異常 版本異常插件不可用問題

    一、本文采用jenkins:2.262版本,采用離線方式直接安裝插件 拉取jenkins鏡像并docker部署服務(wù)后,會發(fā)現(xiàn)jenkins安裝插件,出現(xiàn)連接錯誤。這是由于目前無法訪問jenkins官方的插件庫,本人嘗試過在hudson.plugins.git.GitTool.xml文件中修改插件地址為國內(nèi)倉庫或進(jìn)入/pluginManager/advanced修改

    2024年02月10日
    瀏覽(19)
  • Jenkins 插件下載速度慢安裝失???這篇文章可能解決你頭等難題!

    Jenkins 插件下載速度慢安裝失???這篇文章可能解決你頭等難題!

    Jenkins部署完畢,如果不安裝插件的話,那它就是一個光桿司令,啥事也做不了! ? 所以首先要登陸管理員賬號然后點擊系統(tǒng)管理再點擊右邊的插件管理安裝CI/CD必要插件。 但是問題來了,jenkins下載插件速度非常慢,而且經(jīng)常提示下載插件失敗,真是令人心痛! 本文主旨真正

    2024年02月13日
    瀏覽(26)
  • Jenkins 教程|完美解決Jenkins安裝失敗、運行失敗和賬號丟失問題

    Jenkins 教程|完美解決Jenkins安裝失敗、運行失敗和賬號丟失問題

    ??作者簡介: 小曾同學(xué).com,一個致力于測試開發(fā)的博主??,主要職責(zé):測試開發(fā)、CI/CD 如果文章知識點有錯誤的地方,還請大家指正,讓我們一起學(xué)習(xí),一起進(jìn)步。?? 座右銘:不想當(dāng)開發(fā)的測試,不是一個好測試??。 如果感覺博主的文章還不錯的話,還請點贊、收藏哦

    2024年02月07日
    瀏覽(36)
  • jenkins——參數(shù)化配置、插件安裝以及Jenkins SSH 插件安裝

    jenkins——參數(shù)化配置、插件安裝以及Jenkins SSH 插件安裝

    同一個項目需要在不同環(huán)境下測試 1、選擇參數(shù)化構(gòu)建過程,選擇選項參數(shù) 2、名稱填入 env 3、選項配置三個值分別: dev、test、online 4、添加描述 5、編寫shell命令 6、構(gòu)建項目 7、控制臺查看輸出 Jenkins強大的原因之一就是插件眾多 插件幫助Jenkins豐富自身原有的功能 Dashboard

    2024年02月15日
    瀏覽(28)
  • Jenkins基礎(chǔ)篇--安裝插件

    Jenkins基礎(chǔ)篇--安裝插件

    安裝插件的方法有很多,本文就介紹一種操作最簡單的。 一、首先什么是插件?插件的作用是什么? 插件就是Jenkins擴展功能模塊,就跟打游戲時的mod一樣 二、為什么要額外安裝插件? 雖然Jenkins配置時已經(jīng)推薦安裝了部分插件,但是依舊有一些實用的插件沒有安裝,本次推

    2024年02月13日
    瀏覽(20)
  • Jenkins安裝語言插件

    Jenkins安裝語言插件

    ? ?

    2024年02月10日
    瀏覽(17)
  • Jenkins部分插件安裝與配置

    Jenkins部分插件安裝與配置

    ? 本文主要講解幾個后面需要使用的插件如何安裝以及相關(guān)配置,其他的插件以后用到了再進(jìn)行講解。 主要講述一下 中文插件 、 Node插件 、 Gitee插件 、 SSH插件 的安裝與配置。 ? 插件入口 系統(tǒng)管理 下面的 插件管理 插件入口 插件管理 下面的 available plugins 安裝插件 插件

    2024年02月03日
    瀏覽(19)
  • Jenkins中文插件安裝與使用

    Jenkins中文插件安裝與使用

    進(jìn)入Jenkins的系統(tǒng)管理—插件管理,選擇Available plugins搜索Locale,進(jìn)行下載安裝 安裝完成之后,進(jìn)入系統(tǒng)配置,找到Locale,Default Language輸入zh_CN為中文模式,輸入en_US為英文模式 Ignore browser preference and force this language to all users:忽略瀏覽器首選項并強制所有用戶使用該語言,這

    2024年01月24日
    瀏覽(29)
  • Jenkins--基礎(chǔ)--04--安裝中文插件

    Jenkins--基礎(chǔ)--04--安裝中文插件

    安裝成功后,就使用docker命令重啟下服務(wù)。 重啟后進(jìn)入到配置頁面中找到Locale參數(shù)位置。 Default Language設(shè)置為:zh_CN 將語言設(shè)定為 zh_US,Jenkins切換為英文。 重啟Jenkins 再次語言設(shè)定為 zh_CN,刷新即可。 | | | |--------------------------------------------------------------------------------|–| |

    2024年02月11日
    瀏覽(15)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包