找不到Gitlab CI / CD Gradle Clean Build文件

时间:2020-01-10 17:44:03

标签: bash docker gradle continuous-integration gitlab

编辑:对于遇到此问题的任何人,我认为这不起作用的原因是因为

A)我没有正确设置WORKDIR /home/gradle/project

B)我不确定为什么当我在Dockerfile的末尾设置ENTRYPOINT ["gradle", "clean", "build", "--debug"]时(在我在Gitlab运行程序中的阶段开始时运行)时看到错误。但是,当我删除ENTRYPOINT...并将WORKDIR留在Dockerfile的末尾时,gradle clean build可以作为脚本选项成功地在管道中运行。

有人知道为什么吗?


我正在使用gradle建立gitlab CI / CD管道来构建Java代码。

我不得不处理旧图像,并犯了一个错误的想法,那就是在gitlab中覆盖了图像标签。我使用的是之前正在工作的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 repo docker build -t registry.gitlab.com/x/project:java-build -f ./docker/build.dockerfile . docker push registry.gitlab.com/x/project

文件结构是 -.gradle -码头工人 -build.dockerfile -src

我正在从项目的根目录调用构建命令

我从此错误消息中了解到,gradle没有正确创建,导致系统中没有文件显示。

我已经在gradle clean构建上设置了--debug和--stacktrack选项来运行管道,但没有看到任何其他有用的信息。

我认为我遗漏了一些显而易见的东西,但是我不确定这是什么...

0 个答案:

没有答案