Spring boot Gitlab ci-应用程序jar中工件的差异
我的dockerfile:Spring boot Gitlab ci-应用程序jar中工件的差异,spring-boot,docker,gitlab-ci,Spring Boot,Docker,Gitlab Ci,我的dockerfile: FROM openjdk:8u201-jdk-alpine3.9 ADD target/app-snapshot-0.0.1.jar . 在gitlab ci runner中,在maven构建过程中: maven: image: maven:3-jdk-8 stage: maven script: - "mvn clean package -e" artifacts: name: "app-snapsho
FROM openjdk:8u201-jdk-alpine3.9
ADD target/app-snapshot-0.0.1.jar .
在gitlab ci runner中,在maven构建过程中:
maven:
image: maven:3-jdk-8
stage: maven
script:
- "mvn clean package -e"
artifacts:
name: "app-snapshot"
paths:
- ./target/app-snapshot-0.0.1.jar
build:
stage: build
script:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
- BUILD_IMAGE_NAME=$CI_REGISTRY_IMAGE:`echo "$CI_BUILD_REF_NAME" | tr /# _`
- docker build --pull --force-rm=true -t "$BUILD_IMAGE_NAME" .
- docker push "$BUILD_IMAGE_NAME"
但是,当我在提交、更改等之后使用docker映像时,仍然看到第一个application.jar,没有任何更改
我的错在哪里?在构建过程之后,我希望看到我在artifacts jar应用程序中所做的所有更改。我无法复制该问题,但有一些方法可以“解决”:
.gitlab ci.yml
:
artifacts:
name: "app-snapshot"
paths:
- target/*.jar
artifacts:
name: "app-snapshot"
expire_in: 15 min #Just a example
paths:
- target/*.jar
Dockerfile
:
FROM openjdk:8u201-jdk-alpine3.9
ADD target/*.jar .
artifacts:expire
.gitlab ci.yml
:
artifacts:
name: "app-snapshot"
paths:
- target/*.jar
artifacts:
name: "app-snapshot"
expire_in: 15 min #Just a example
paths:
- target/*.jar
我不理解你所有的问题,但我认为你有缓存问题。也许,(我说也许)
工件
指令缓存了您以前的.jar。问题是:在构建过程之后,当我使用docker映像时-我看到我的应用程序的第一个版本-没有更改、更新等。您何时构建docker映像?在gitlab ci文件中,在构建过程中。请查看我的原始帖子-已更新。非常感谢您的回复。它帮助我清除项目中的一些代码。