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

基于GitLab CI与TBC模板实现Maven项目构建及GitLab Release创建

GitLab CI + TBC Maven模板:GitLab Release方案选择与配置指南

方案选择建议

优先选择TBC Maven模板内置的semantic-release-info任务方案,而非单独使用带Maven插件的semantic-release,原因如下:

  • 无缝集成现有流程:TBC的Maven模板已经内置semantic-release的集成逻辑,启用semantic-release-info后,能自动和已有的Nexus部署流程同步版本号,无需额外修改pom.xml或维护两套版本管理逻辑。
  • 减少配置工作量:仅通过几个CI变量就能完成GitLab Release触发,无需手动配置semantic-release的Maven插件、版本同步规则等冗余内容。
  • 避免流程冲突:单独使用semantic-release Maven插件可能会和TBC模板自带的版本管理、构建流程产生冲突,增加调试成本。

带Maven插件的semantic-release更适合未使用TBC模板的纯Maven项目,对你的场景来说属于冗余配置。

配置GitLab Release的步骤

基于TBC Maven模板+semantic-release-info的方案,具体配置如下:

1. 启用核心任务与Release开关

在你的.gitlab-ci.yml中,通过变量开启semantic-release信息生成任务,并允许自动创建GitLab Release:

variables:
  # 启用semantic-release版本信息生成任务
  MAVEN_SEMANTIC_RELEASE_INFO_ENABLED: "true"
  # 允许自动创建GitLab Release(默认可能为true,需设为false解除禁用)
  SEMREL_RELEASE_DISABLED: "false"

2. 配置CI权限

确保CI Runner具备创建GitLab Release的权限:

  • 方式一:使用CI内置令牌
    在项目的Settings > General > Visibility, project features, permissions中,找到CI/CD板块,开启Create releases权限,确保CI_JOB_TOKEN拥有该权限。
  • 方式二:使用个人访问令牌(PAT)
    在项目的Settings > CI/CD > Variables中添加变量GITLAB_TOKEN,值为具有api权限的个人访问令牌,需勾选Protect variable和Mask variable。

3. 配置Release附加资源(制品/文件)

如果需要将构建产物(如jar包)或其他文件附加到GitLab Release,通过TBC的SEMREL_ASSETS变量指定文件路径:

variables:
  # 附加target目录下的所有jar包到Release
  SEMREL_ASSETS: "target/*.jar"
  # 可选:指定变更日志文件,自动填充Release描述
  SEMREL_CHANGELOG_FILE: "CHANGELOG.md"

semantic-release会自动将指定路径的文件上传到GitLab Release中,并使用变更日志内容作为Release的描述信息。

4. 版本号同步说明

启用semantic-release-info后,TBC会自动基于语义化提交信息生成版本号,并替换Maven项目中的版本号(无需手动修改pom.xml),确保Nexus部署的制品版本与GitLab Release版本完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:07:32