You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI发布Release时如何仅上传打包好的Jar包?

解决GitLab CI Release仅发布Jar包的问题

问题根源

你的配置存在两个核心问题:

  1. build阶段未输出artifacts:导致release阶段无法获取到构建好的.jar文件,只能重新克隆项目源码,最终发布时自然缺失Jar包。
  2. GitLab默认生成源码归档:Release页面中显示的“项目源码包”是GitLab基于tag自动生成的默认归档,并非CI job上传的内容。

修正步骤

1. 确保build阶段传递Jar包 artifacts

修改build任务,添加artifacts配置,仅将构建生成的Jar包传递给后续的release阶段:

build:
  stage: build
  script:
    - mvn clean package
  artifacts:
    paths:
      - target/*.jar  # 仅传递构建好的Jar包
    expire_in: 1d  # 可选:设置artifacts过期时间,节省存储空间

2. 确保release阶段正确生成并发布Jar包

你的release任务逻辑基本正确,结合修正后的build阶段配置,完整CI配置如下:

build:
  stage: build
  script:
    - mvn clean package
  artifacts:
    paths:
      - target/*.jar
    expire_in: 1d

release:
  stage: release
  needs:
    - job: build
      artifacts: true
  script:
    - mv target/*.jar project.jar
  artifacts:
    paths:
      - project.jar  # 仅发布这个Jar包
  release:
    name: 'Awesome Project'
    description: 'Awesome description'
    tag_name: 'Awesome'

3. 可选:移除自动生成的源码归档

如果要彻底移除Release页面中的源码包,可以通过项目设置关闭:

  • 进入项目的 Settings > Repository
  • 找到 Tags 区域,取消勾选 Create archive of source files when a tag is created
  • 保存设置后,后续创建的Release将不再包含自动生成的源码归档

内容的提问来源于stack exchange,提问作者membersound

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:55:15