Jenkins報錯'Gradle build daemon disappeared unexpectedly'的問題解決
阿新 • • 發佈:2018-12-12
在將專案整合到 Jenkins 後,經常會出現不穩定的構建,Jenkins 控制檯輸出的錯誤資訊為:Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)。
經過調查,問題可能出在 ./gradlew assembleDebug 這條命令上。
通過檢視Gradle的官方文件,得知從 Gradle 3.0 開始,Daemon 便預設開啟的。它是一個長時間執行的後臺程序,作用是在記憶體中儲存構建資訊,以便在之後的構建過程中複用資訊提高構建速度。
但是在文件中,也提到一句:If you run CI builds in ephemeral environments (such as containers) that do not reuse any processes, use of the Daemon will slightly decrease performance (due to caching additional information) for no benefit, and may be disabled.
那麼,如何在 Jenkins 裡停止使用 Daemon 呢?
很簡單,如下: ./gradlew --no-daemon assembleDebug 在命令里加入一個 --no-daemon 引數就好啦。