gpt4 book ai didi

spring-boot - gitlab ci-工件应用程序jar中的差异

转载 作者:行者123 更新时间:2023-12-02 18:28:00 24 4
gpt4 key购买 nike

我的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"

但是,当我在提交,更改等之后使用docker镜像时,仍然可以看到第一个应用程序.jar,没有任何更改。

我的错误在哪里?我希望在构建过程后看到我在artifacts jar应用程序中所做的所有更改。

最佳答案

我无法复制问题,但是有一些方法可以“解决”:

  • 尝试修复缩进:
  • 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
  • 在 Artifact 中使用模式:(这对于版本更改时不需要更改代码很有用)
  • .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

    关于spring-boot - gitlab ci-工件应用程序jar中的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56699920/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com