2016-04-05 37 views
0

我有以下.gitlab-ci.yml文件爲我的項目.gitlab-ci.yml - 控制的Java版本用於

image: maven:3-jdk-7 

build: 
    script: "mvn install -B" 

與下面的輸出

gitlab-ci-multi-runner 1.0.4 (014aa8c) 
WARNING: image is not supported by selected executor and shell 
Using Shell executor... 
Running on pauloconnell-HP-ZBook-15... 
Fetching changes... 
.... 
HEAD is now at 95ddd4f maven settings 
.... 
    c8a639e..d881b78 master  -> origin/master 
Checking out 95ddd4fc as master... 
HEAD is now at 95ddd4f... maven settings 
$ mvn install -B 

開始但隨後出現錯誤,其中Java 8正在用於構建

[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 10.260s 
[INFO] Finished at: Mon Apr 04 18:55:47 IST 2016 
[INFO] Final Memory: 77M/967M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:apt-maven-plugin:1.0-alpha-5:process (default) on project om-interface-eircom: Unable to locate the apt compiler in: 
[ERROR] /usr/lib/jvm/java-8-oracle/jre/../lib/tools.jar 
[ERROR] Please ensure you are using JDK 1.5 or above and 
[ERROR] not a JRE (the com.sun.tools.apt.Main class is required). 
[ERROR] In most cases you can change the location of your Java 
[ERROR] installation by setting the JAVA_HOME environment variable. 

我確實在本地安裝了java 8,但我期待dock呃圖像定義來控制這個。

有人可以建議我怎麼能解決這個問題?

回答

0

已經做了一些挖掘的今天,第一次警告是關鍵

WARNING: image is not supported by selected executor and shell 

表明我試圖「通過一個「外殼」亞軍執行「碼頭工人」的形象。我編輯的文件

/etc/gitlab-runner/config.toml 

/etc/gitlab-runner/config.toml 
concurrent = 1 

[[runners]] 
name = "runner" 
url = "http://10.139.11.103:8987/ci" 
token = "xxxx" 
tls-ca-file = "" 
executor = "shell" 
[runners.ssh] 
[runners.docker] 
    image = "" 
    privileged = false 
[runners.parallels] 
    base_name = "" 
[runners.virtualbox] 
    base_name = "" 

刪除所有的碼頭工人和其他選手的設置,並增加了「環境」標籤

concurrent = 1 

[[runners]] 
    name = "runner" 
    url = "http://10.139.11.103:8987/ci" 
    token = "xxxx" 
    tls-ca-file = "" 
    executor = "shell" 
    shell="bash" 
    environment= ["JAVA_HOME=/usr/lib/jvm/java-7-oracle/"] 

最後的任務是通過更新「 .gitlab-ci.yml'文件到

maven-package: 
    script: "mvn install -B" 

,它調用'maven-package'模塊。

0

我推薦一步到碼頭運行程序而不是shell,然後用具有java 8的映像替換「image:maven:3-jdk-7」?例如:

image: openjdk 

當你使用Maven和不安裝它,可能是你需要的,而不是自己的形象:

image: maven