java 尝试在Docker中自动生成SpringBoot项目镜像,但Maven不生成.jar文件

kxe2p93d  于 2023-06-20  发布在  Java
关注(0)|答案(1)|浏览(128)

我尝试使用Github CICD自动构建(并在Dockerhub中发布)我的SpringBoot项目的Docker镜像,每当提交完成时。然而,我在这个过程中发现了一个问题,Docker无法构建镜像,因为它找不到应该存在的项目的.jar(名为github-cicd.jar)文件。
我在这个项目中安装的唯一依赖项是SpringWeb,没有其他。
我怀疑这是因为Maven没有自动构建.jar文件,因为:

  • 我试图通过Docker构建自己的镜像,但过程失败了
  • 负责构建图像的CICD步骤也因相同错误而失败。

这就是错误:
Error: buildx failed with: ERROR: failed to solve: lstat /tmp/buildkit-mount3001775712/target: no such file or directory
POM文件构建部分为:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <finalName>github-cicd</finalName>
    </build>

我的YAML文件中应该用来构建项目的部分是(我评论了我之前尝试过但没有成功的第二个解决方案)

-
      name: Set up JDK 18
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'temurin'
        cache: maven
    -
      name: Build with Maven
      run: mvn clean install #-B package --file pom.xml

我的docker文件是:

FROM openjdk:18.0.1
VOLUME /tmp
ADD target/*.jar github-cicd.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/github-cicd.jar"]
wrrgggsh

wrrgggsh1#

根据您使用的buildx版本,它可能会在Dockerfile中创建通配符问题。
尝试删除此行ADD target/*.jar github-cicd.jar的通配符并添加文件名。

相关问题