簡體   English   中英

jenkins svn插件還原操作比命令行作業慢?

[英]jenkins svn plugin revert action slower than command line job?

我有三台安裝了Jenkins v1.473的構建機。

我們稱它們為機器A,B和C。它們都運行Windows 7 x64。 B機和C機的jenkins安裝是從A機進行的。我只是將文件夾復制了過來,一切都已導入並且可以正常工作。

我們最初有一個Windows命令行作業,該作業將調用svn revert,然后對一堆文件夾進行svn更新。 之后,我們將構建我們的項目。 平均運行時間約為10分鍾。 命令行工具的SVN版本在所有3台計算機上均為1.7(帶有tortoisesvn)

由於我們使用的是命令行svn命令,因此在發送作業完成電子郵件時我們無權訪問$ CHANGES,因此我們切換到了Jenkins svn插件。 首先在機器B和C上進行了切換,確認切換正常后,我們對機器A進行了相同的更改。插件版本為1.50。

檢出策略設置為“ 在更新前盡可能使用'svn更新','svn恢復' ”。 存儲庫瀏覽器設置為“自動”。

在Jenkins->配置下,Subversion工作區版本設置為1.7。 其他字段保持原樣( 排除revprop名稱為空,未選中第一個變量名稱之前的驗證存儲庫URL,檢查成功身份驗證后更新默認Subversion憑據緩存

現在,到我的問題。

機器B和C的運行時間大致相同:約10分鍾。

但是,在機器A上,運行時間增加了一倍以上:現在平均為25分鍾。 查看作業日志,還原部分似乎是罪魁禍首。

從svn命令行切換到插件會導致它運行速度變慢嗎? 最重要的是, 僅在一台特定機器上

在所有機器上挖掘並測試了幾個作業之后,我發現了以下內容:

  • 命令行工具比其插件要快得多,這很可能是由於程序本身的速度所致(編譯后的C二進制與SVNKIT用Java編寫並在JVM之上運行)
  • 盡管具有相似的規格,但機器A也比B和C慢得多,這很可能是因為其他應用程序和服務同時運行(B和C是近乎全新的安裝,而A已經運行了較長時間,安裝了更多應用程序等)

最后,我只是從更新中拆分了干凈/還原部分:

  • 清理/還原作業是在命令行中進行的(我相信由於文件夾的遍歷,I / O太重了),因此它要盡可能快
  • 然后使用該插件進行更新(並且僅更新,該插件內不執行任何還原操作)(相當快,對於幾十個文件,通常不到一分鍾),這使我仍然可以訪問CHANGES變量。

這樣,我設法以某種方式使機器A上的構建時間幾乎保持不變(大約10分鍾)。 但是,機器B和C的構建時間大大縮短了(通常從10分鍾縮短到5分鍾)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM