Файл сборки Gitlab CI / CD Gradle Clean не найден - PullRequest
0 голосов
/ 10 января 2020

РЕДАКТИРОВАТЬ: Для тех, кто сталкивается с этим, я думаю, что причина этого не работала, потому что

A) У меня не было правильно установлено WORKDIR /home/gradle/project.

Б) Я не уверен, почему, когда я устанавливаю ENTRYPOINT ["gradle", "clean", "build", "--debug"] в конце Dockerfile, который запускается в начале моего этапа в Gitlab Runner, я вижу ошибку. Но когда я удаляю ENTRYPOINT... и просто оставляю WORKDIR в конце файла Docker, gradle clean build может успешно работать как опция сценария в конвейере.

Кто-нибудь знает, почему это так?


Я настраиваю конвейер CI / CD gitlab, используя gradle для создания java кода.

Я использовал gradle, работая со старым изображением, и допустил ошибку при перезаписи тега изображения в гитлаб. Я использую тот же docker файл сборки, который работал до того, что теперь выдает ошибку о том, что файл не может быть найден.

Это мой docker файл

FROM gradle:4.6-jdk8

USER root

RUN apt-get update
RUN apt-get -y --allow-unauthenticated install apt-transport-https ca-certificates curl gnupg2 software-properties-common
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
RUN apt-get update
RUN apt-get -y --allow-unauthenticated install docker-ce

RUN apt-get -y install python-pip
RUN pip install awscli

USER gradle

ENTRYPOINT ["gradle", "clean", "build"]

Это сообщение об ошибке

14 FAILURE: Build failed with an exception.
15 * What went wrong:
16 The specified settings file '/home/gradle/if [ -x /usr/local/bin/bash ]; then
17  exec /usr/local/bin/bash 
18 elif [ -x /usr/bin/bash ]; then
19  exec /usr/bin/bash 
20 elif [ -x /bin/bash ]; then
21  exec /bin/bash 
22 elif [ -x /usr/local/bin/sh ]; then
23  exec /usr/local/bin/sh 
24 elif [ -x /usr/bin/sh ]; then
25  exec /usr/bin/sh 
26 elif [ -x /bin/sh ]; then
27  exec /bin/sh 
28 elif [ -x /busybox/sh ]; then
29  exec /busybox/sh 
30 else
31  echo shell not found
32  exit 1
33 fi
34 ' does not exist.
35 * Try:
36 Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
37 * Get more help at https://help.gradle.org
38 BUILD FAILED in 1s

Я собираю локальный «образ сборки» и отправляю его в репозиторий Gitlabs docker с помощью этих команд docker build -t registry.gitlab.com/x/project:java-build -f ./docker/build.dockerfile . docker push registry.gitlab.com/x/project

структура файла - .gradle - docker - build.dockerfile - sr c

, и я вызываю команды сборки из root проекта

Мое понимание из это сообщение об ошибке означает, что gradle не создается должным образом, в результате чего в системе не отображаются файлы.

Я запустил конвейер с параметрами --debug и --stacktrack, установленными в чистой сборке gradle, и Я не увидел никакой дополнительной полезной информации.

Я думаю, что упускаю что-то довольно очевидное, но я не уверен, что это ...

...