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

semantic-release未创建新版本且CHANGELOG未推送至GitLab问题求助

问题原因

你的配置存在两处核心缺失:

  • 缺少@semantic-release/git插件:@semantic-release/changelog仅负责在CI运行环境本地生成CHANGELOG.md文件,没有自动提交修改并推回GitLab仓库的能力,该能力需要@semantic-release/git插件实现。
  • 当前@semantic-release/gitlab中的assets参数,仅会把CHANGELOG.md作为GitLab Release详情页的附件上传,不会同步更新代码仓库内的对应文件。

修复步骤

  1. 修改.releaserc配置,在plugins数组中新增git插件:
{
  "branches": ["master"],
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    [
      "@semantic-release/changelog",
      {
        "changelogFile": "docs/CHANGELOG.md"
      }
    ],
    // 新增git插件配置
    [
      "@semantic-release/git",
      {
        "assets": ["docs/CHANGELOG.md"],
        "message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes}"
      }
    ],
    [
      "@semantic-release/gitlab",
      {
        "assets": [{"path": "docs/CHANGELOG.md"}]
      }
    ]
  ]
}
  1. 修改gitlab-ci.yml的release阶段,安装新增的git插件:
release:
  image: node:13
  stage: release
  only:
    refs:
    - master
  before_script:
    - 'echo Stage - Release started'
  script:
    - npm install @semantic-release/gitlab
    - npm install @semantic-release/changelog
    - npm install @semantic-release/git # 新增安装命令
    - npx semantic-release
  after_script:
    - 'echo Stage - Release finished'
  1. 检查GitLab权限配置:
  • 确认CI变量中配置的GITLAB_TOKEN权限范围包含api、read_repository、write_repository,且对应当账号有仓库的读写权限
  • 进入仓库「设置」-「仓库」-「受保护分支」页面,找到master分支,为GitLab CI角色开放「允许推送」权限

额外检查项

如果配置修改后仍未生成GitLab Release,确认你使用的@semantic-release/gitlab插件版本和你部署的GitLab版本兼容,你当前使用的semantic-release v17.4.4建议搭配@semantic-release/gitlab v6.x版本使用,避免版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 11:27:00