GitLab应用程序JAR中的CI差异 [英] Gitlab ci - differences in artifacts app jar
本文介绍了GitLab应用程序JAR中的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-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"
但是,当我在提交、更改等之后使用停靠器图像时,我仍然看到第一个应用程序.jar,没有更改。
我的错误在哪里?我希望在构建过程后,看到我在Artitures JAR应用程序中所做的所有更改。
推荐答案
我无法复制该问题,但有一些方法可以解决&q;:
- 尝试修复缩进:
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
- 在构件中使用模式:(当版本更改时,您不需要更改代码,这很好)
.gitlab-ci.yml
:
artifacts:
name: "app-snapshot"
paths:
- target/*.jar
Dockerfile
:
FROM openjdk:8u201-jdk-alpine3.9
ADD target/*.jar .
使用
dependencies
docs:在构建作业时定义来自Maven的依赖项:
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"
dependencies:
- maven
- 是使用
artifacts:expire
docs 的好做法
.gitlab-ci.yml
:
artifacts:
name: "app-snapshot"
expire_in: 15 min #Just a example
paths:
- target/*.jar
这篇关于GitLab应用程序JAR中的CI差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文