2016-05-12 17 views
2

Hier ist mein .gitlab-ci.yml-Skript.Installieren von Java on online Gitlab ci

before_script: 
    - uname -a 
    - apt-get install default-jre default-jdk openjdk-7-jre openjdk-7-jdk 
    - java -version 
    - export MODE="service" 
    - export PID_FOLDER="/var/run/gitlab-runner-test" 

dev: 
    script: 
    - chmod +x gradlew 
    - ./gradlew assembleDebug 

Ich versuche, das Skript auf gitlab.com Seite zu laufen, um ein Android-Projekt zu kompilieren. Ich überprüfte mit einigen Änderungen in meinem Skript, dass es kein Java auf dem ci installiert linux Linux Runner-8a2f473d-Projekt-881036-gleichzeitige-0 4.5.0-coreos-r1 # 2 SMP Do 5. Mai 07.27.26 UTC 2016 x86_64 GNU/Linux.

Ich habe versucht, Java zu installieren, genau wie ein Beispiel, das für Ruby angezeigt wurde, aber es funktioniert nicht und gibt einen Fehler, Paketfehler nicht zu finden.

Ich bin nicht sicher, was das Paket sein sollte, da es wie ein Ubuntu-System scheint, aber der Befehl, der auf meinem Ubuntu funktioniert, funktioniert hier nicht.

Dies ist keine lokale Installation.

+0

Sie nicht brauchen 'sudo' mit' apt-get' zu installieren? Was macht dein Skript? Führt es den 'uname' Teil aus? – fedorqui

+0

Ja, ich bekomme die Info linux linux-runner-8a2f473d-project-881036-simultan-0 4.5.0-coreos-r1 # 2 SMP Do Mai 5 07:27:26 UTC 2016 x86_64 GNU/Linux auf uname Teil. Es funktioniert nicht mit Sudo, da es ein benutzerdefiniertes env zu sein scheint, das keine sudo-Unterstützung hat. – Jalpesh

+0

Wo hört es dann auf zu laufen? 'uname' ist in Ordnung, aber dann 'apt-get' nicht? – fedorqui

Antwort

1

Ich glaube, Sie sollten in der Lage sein, die image Funktion beschrieben here zu verwenden. Ich fand Erfolg mit dem Docker-Bild .

Ich benutze meinen eigenen Docker Gitlab-Runner mit einem benutzerdefinierten Docker Bild, wie ich Maven mit Oracle Java brauche. Ich bin nicht zu 100% aktiv, wenn der geteilte Läufer auf gitlab.com Ihnen erlaubt, Ihr eigenes Bild zu verwenden.

Mein Dockerfile für das (die ich Gitlab laden und nutzen ihre neue Funktion Docker Container Register)

FROM anapsix/alpine-java:jdk8 

ENV MAVEN_VERSION 3.3.3 

RUN apk update && apk upgrade && apk add curl wget bash tar rsync openssh-client 

RUN mkdir -p /usr/share/maven \ 
    && curl -fsSL http://apache.osuosl.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \ 
    | tar -xzC /usr/share/maven --strip-components=1 \ 
    && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn \ 
    && rm -rf /tmp/* /var/cache/apk/*; 

ENV MAVEN_HOME /usr/share/maven 

ENTRYPOINT [] 
CMD ["bash"]