编辑:对于遇到此问题的任何人,我认为这不起作用的原因是因为
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选项来运行管道,但没有看到任何其他有用的信息。
我认为我遗漏了一些显而易见的东西,但是我不确定这是什么...