2017-05-31 65 views
0

我有無人機的本地實例正在運行,並且正在嘗試構建幾個非常簡單的Maven項目。他們是完全正常的,遵循所有的約定。Drone無法編譯Maven測試類

我正在使用最新的Drone docker鏡像(截至今天),並且在Rancher環境中設置了代理和服務器。當地的Gogs實例是Git回購。

當Drone運行構建時,Maven無法編譯測試類,因爲它找不到編譯的源類。它發生在其使用以下方法,沒有任何問題編譯兩個不同的項目:

  • 使用Maven在命令行上
  • 中的IntelliJ
  • 運行多克爾行家形象,同時安裝項目目錄並執行構建那樣。

這只是無人機構建失敗。我很難過。任何想法的人?

這裏是.drone.yml

pipeline: 
    build: 
    image: maven:3.5.0-alpine 
    commands: 
     - mvn -B clean package 

下面是一些示例輸出:

[INFO] Compiling 8 source files to /drone/src/192.168.1.116:10080/timw/springboot-docker-clean/compare/458b3364de013c475723da83162368bacf6ba239...fd89653daf594250d11f8cba004939b7a95199f6/target/classes 
109s 
836 
[INFO] 
110s 
837 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ springboot-docker-clean --- 
110s 
838 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
110s 
839 
[INFO] skip non existing resourceDirectory /drone/src/192.168.1.116:10080/timw/springboot-docker-clean/compare/458b3364de013c475723da83162368bacf6ba239...fd89653daf594250d11f8cba004939b7a95199f6/src/test/resources 
110s 
840 
[INFO] 
110s 
841 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ springboot-docker-clean --- 
110s 
842 
[INFO] Changes detected - recompiling the module! 
110s 
843 
[INFO] Compiling 7 source files to /drone/src/192.168.1.116:10080/timw/springboot-docker-clean/compare/458b3364de013c475723da83162368bacf6ba239...fd89653daf594250d11f8cba004939b7a95199f6/target/test-classes 
110s 
844 
[INFO] ------------------------------------------------------------- 
112s 
845 
[ERROR] COMPILATION ERROR : 
112s 
846 
[INFO] ------------------------------------------------------------- 
112s 
847 
[ERROR] /drone/src/192.168.1.116:10080/timw/springboot-docker-clean/compare/458b3364de013c475723da83162368bacf6ba239...fd89653daf594250d11f8cba004939b7a95199f6/src/test/java/org/timw/docker/DockerJavaClientTest.java:[31,13] cannot find symbol 
112s 
848 
    symbol: class DockerJavaClient 
112s 
849 
    location: class org.timw.docker.DockerJavaClientTest 

回答

1

的問題是,無人駕駛飛機使用你的資料庫中的URL工作空間路徑。在你的例子中,存儲庫URL包含端口名稱(冒號),當maven嘗試讀取文件時,這似乎會引起問題。

/drone/src/192.168.1.116:10080 

您可以使用以下語法手動覆蓋在你的YAML的工作空間路徑:

workspace: 
    path: src/timw/springboot-docker-clean 

pipeline: 
    build: 
    image: maven:3.5.0-alpine 
    commands: 
     - mvn -B clean package