Reputation: 11202
I have the following .gitlab-ci.yml file for my project
image: maven:3-jdk-7
build:
script: "mvn install -B"
Which starts with the following output
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
but then fails with error where java 8 is being used for the build
[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.
I do have java 8 installed locally but I expected the docker image definition to control this.
Can anybody suggest how i can work around this?
Upvotes: 0
Views: 17914
Reputation: 5359
I've recommend step to docker runner instead of shell and then replace "image: maven:3-jdk-7" by image which have java 8? For example:
image: openjdk
As you use maven and do not install it, may be you need its image instead:
image: maven
Upvotes: 2
Reputation: 11202
Having done some digging today, the first warning was key
WARNING: image is not supported by selected executor and shell
indicating that I was attempting to execute a 'docker' 'image' via a 'shell' runner. I edited the file
/etc/gitlab-runner/config.toml
from
/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 = ""
dropping all the docker and other runner settings, and added an 'environment' tag
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/"]
The final task was to updated by '.gitlab-ci.yml' file to
maven-package:
script: "mvn install -B"
which calls the 'maven-package' module.
Upvotes: 1