通過Jenkins和Gradle插件,我的Java/Springboot項目構建非常緩慢。當嘗試結賬手動和嘗試以下:通過詹金斯Gradle構建時間太長
gradle這個建立
構建運行速度非常快!大約3分鐘,否則將需要大約29分鐘。
構建步驟i經由詹金斯做實際上是相同的,
的SVN代碼結帳部分是快速在兩個方法。只有構建部分很慢。可能是什麼問題 ?
通過Jenkins和Gradle插件,我的Java/Springboot項目構建非常緩慢。當嘗試結賬手動和嘗試以下:通過詹金斯Gradle構建時間太長
gradle這個建立
構建運行速度非常快!大約3分鐘,否則將需要大約29分鐘。
構建步驟i經由詹金斯做實際上是相同的,
的SVN代碼結帳部分是快速在兩個方法。只有構建部分很慢。可能是什麼問題 ?
我認爲答案是工件的下載時間。
當你運行2個構建時,第二個運行速度會更快嗎? 嘗試從本地計算機中刪除.gradle文件夾並構建。花了多少時間?
您使用的是工件庫 - artifactory/Nexus嗎?
做使用JFrog artifactory的,神器下載只發生一次,緩存在後來的構建(額外+15分鐘]首次) 每個構建幾乎需要同一時間~29分鐘。 –
您是否使用時間戳插件?它會告訴你這次要花費哪些任務。所以第一次構建需要45分鐘,第二次29分鐘在Jenkins機器上?在你的機器上只有3個?你是否運行相同的gradle版本?和相同的命令?你可以在Jenkins slave上手動運行構建來檢查它的持續時間嗎? –
不使用時間戳插件。 詹金斯第一次構建:45分鐘(預計神器下載的額外時間) 其餘構建:29分鐘。 在同一個構建服務器上,在相同的jenkins工作區上,使用相同的gradle版本,通過命令行〜3分鐘。 –
您可以將--profile
參數添加到gradle命令行中,以便將報告寫入build/reports/profile
。從那裏你將能夠看到所有的時間都花在哪裏。見profiling a build
這實際上有幫助! :compileJava 8m59.97s :test 8m38.40s :compileTestJava 6m52.34s :startScripts 6m26.26s :distZip 3.820s。 看起來時間對於所有活動都是平等的! –
也許源文件與gradle進程在不同的機器上,以至於整個網絡(例如網絡驅動器)都會發生?也許堆的大小太小,整個過程都是GC? –
你應該能夠得到詹金斯日誌以驗證它是什麼,當時 – DevDio