1. 程式人生 > >【Jenkins學習 】解決Jenkins節點編譯android專案出現錯誤:[Gradle]

【Jenkins學習 】解決Jenkins節點編譯android專案出現錯誤:[Gradle]

一、錯誤描述

今天Jenkins節點編譯伺服器出現了磁碟不足,在該節點伺服器上移動了部分目錄,刪除了部分檔案之後,再次編譯的時候出現了錯誤,如下所示:

[Gradle] - Launching build.
[Gradle] - [ERROR] Can't retrieve the Gradle executable.
Build step 'Invoke Gradle script' marked build as failure

在這裡插入圖片描述

二、錯誤分析

我查看了我配置的這臺節點伺服器的gradle配置都是正常的

在這裡插入圖片描述

這個路徑 /data/opt/gradle/gradle-4.3 在伺服器上存在的

在這裡插入圖片描述

然後我看這個Jenkins任務的配置,使用的是名為Gradle4.1的配置

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

這種配置是全域性的,master節點上的,可以同樣試用於其他的節點。只要其他節點的路徑沒有改變。

在這裡插入圖片描述

我們配置了很多節點伺服器,大部分的地址都和這個master節點伺服器配置的路徑一樣。所以不需要額外進行其他的設定。

但是我使用的這一臺 Android_Phone_Server 節點伺服器,因為 / 根目錄比較小,所以將這些gradle、sdk等都移動到了外接磁碟掛載/data下面的目錄下。 因此我還需要對這些配置好的變數重新配置。

三、解決錯誤

對這些變數重新賦值,以匹配這臺節點伺服器Android_Phone_Server的實際路徑:/data/opt/gradle/ 下面的子目錄。

在這裡插入圖片描述

在這裡插入圖片描述

配置好了變數過載之後,點選save。然後重新編譯即可成功。

在這裡插入圖片描述

四、總結

當出現

[Gradle] - Launching build.
[Gradle] - [ERROR] Can't retrieve the Gradle executable.
Build step 'Invoke Gradle script' marked build as failure

這個錯誤的時候,肯定就是gradle的路徑沒有配置對。 如果是Jenkins的節點伺服器的話,得注意節點伺服器和master節點伺服器的實際路徑是不是一樣的。 如果是一樣的話,那麼就不需要過載重新配置一遍。 如果不一樣的話,那麼過載配置你實際的路徑即可。