我尝试使用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"]
1条答案
按热度按时间wrrgggsh1#
根据您使用的
buildx
版本,它可能会在Dockerfile中创建通配符问题。尝试删除此行
ADD target/*.jar github-cicd.jar
的通配符并添加文件名。