2017-08-30 27 views
0

通過Jenkins和Gradle插件,我的Java/Springboot項目構建非常緩慢。當嘗試結賬手動和嘗試以下:通過詹金斯Gradle構建時間太長

gradle這個建立

構建運行速度非常快!大約3分鐘,否則將需要大約29分鐘。

構建步驟i經由詹金斯做實際上是相同的,

enter image description here

的SVN代碼結帳部分是快速在兩個方法。只有構建部分很慢。可能是什麼問題 ?

+0

你應該能夠得到詹金斯日誌以驗證它是什麼,當時 – DevDio

回答

0

我認爲答案是工件的下載時間。

當你運行2個構建時,第二個運行速度會更快嗎? 嘗試從本地計算機中刪除.gradle文件夾並構建。花了多少時間?

您使用的是工件庫 - artifactory/Nexus嗎?

+0

做使用JFrog artifactory的,神器下載只發生一次,緩存在後來的構建(額外+15分鐘]首次) 每個構建幾乎需要同一時間~29分鐘。 –

+0

您是否使用時間戳插件?它會告訴你這次要花費哪些任務。所以第一次構建需要45分鐘,第二次29分鐘在Jenkins機器上?在你的機器上只有3個?你是否運行相同的gradle版本?和相同的命令?你可以在Jenkins slave上手動運行構建來檢查它的持續時間嗎? –

+0

不使用時間戳插件。 詹金斯第一次構建:45分鐘(預計神器下載的額外時間) 其餘構建:29分鐘。 在同一個構建服務器上,在相同的jenkins工作區上,使用相同的gradle版本,通過命令行〜3分鐘。 –

0

您可以將--profile參數添加到gradle命令行中,以便將報告寫入build/reports/profile。從那裏你將能夠看到所有的時間都花在哪裏。見profiling a build

+0

這實際上有幫助! :compileJava 8m59.97s :test 8m38.40s :compileTestJava 6m52.34s :startScripts 6m26.26s :distZip 3.820s。 看起來時間對於所有活動都是平等的! –

+0

也許源文件與gradle進程在不同的機器上,以至於整個網絡(例如網絡驅動器)都會發生?也許堆的大小太小,整個過程都是GC? –