Установка Java на онлайн Gitlab ci

Вот мой скрипт .gitlab-ci.yml.

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

Я пытаюсь запустить скрипт на странице gitlab.com для компиляции проекта Android. С некоторыми изменениями в моем скрипте я проверил, что на ci linux не установлена ​​java. x86_64 GNU/Linux.

Я попытался установить java, точно так же, как образец, который был показан для ruby, но он не работает и выдает ошибку Unable to locate package.

Я не уверен, каким должен быть пакет, так как это похоже на систему Ubuntu, но команда, которая работает на моей Ubuntu, здесь не работает.

Это не локальная установка.


person Jalpesh    schedule 12.05.2016    source источник
comment
Разве вам не нужно sudo для установки с apt-get? Кроме того, что делает ваш скрипт? Он исполняет партию uname?   -  person fedorqui 'SO stop harming'    schedule 12.05.2016
comment
Да, я получаю информацию. Он не работает с sudo, поскольку кажется, что это пользовательский env, который не поддерживает sudo.   -  person Jalpesh    schedule 13.05.2016
comment
Так где же тогда он перестает работать? uname нормально, а apt-get нет?   -  person fedorqui 'SO stop harming'    schedule 13.05.2016
comment
Да, я получаю сообщение об ошибке «Не удалось найти пакет». Извините, я отформатирую свой вопрос.   -  person Jalpesh    schedule 13.05.2016


Ответы (1)


Я считаю, что вы сможете использовать функцию image, описанную здесь. Я добился успеха с образом anapsix/alpine-java:jdk8 Docker.

Я использую свой собственный gitlab-runner Docker с пользовательским образом Docker, так как мне нужен Maven с Oracle java. Я не уверен на 100%, позволяет ли общий бегун на gitlab.com использовать собственное изображение.

Мой Dockerfile для этого (который я загружаю в Gitlab и использую их новую функцию регистрации контейнера Docker)

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"]
person Collin Peters    schedule 28.05.2016