在持续集成的过程中,发布版本往往需要执行许多重复且容易出错的步骤,比如手动创建标签、修改更新说明以及上传构建产物等等。如果这些环节缺乏自动化,不仅会降低工作效率,还可能引发错误的发生。
为了解决这一问题,Gitee 流水线现已推出 Release 插件,能够实现从构建产物到版本发布的全自动化处理。该插件可以将版本信息、更新日志和构建文件一键上传至仓库的 Release 页面,适用于正式发布、预发布测试以及开源项目的同步等多种场景。
将 Release 流程整合到流水线中
Gitee Go Release 插件被设计为流水线中的发布步骤,用户只需配置参数即可完成以下几项任务:
- 自动生成 Release 页面,并附上描述与构建产物;
- 可以自动创建或复用相关的标签;
- 支持预发布版本及重复覆盖的功能;
- 通过流水线变量实现基于构建号的版本管理。
该插件与 Gitee 流水线的机制相适配,用户可通过填写表单或使用 YAML 方式快速整合。
应用场景的实例
开源项目:在合并主干后,自动更新日志和构建产物,贡献者能够直接下载最新的版本。
迭代发布:提取 CHANGELOG.md 作为描述,上传 dist 压缩包,整个过程无需手动干预。
测试发布:启用「预发布」与「允许覆盖」功能,能够在同一标签下进行多次更新,以便进行测试验证。
一步步操作自动发布流程
下面展示一个典型的流程:当开发者在主干提交的变更信息中包含release:前缀时,流水线会自动触发构建并进行发布。
配置触发条件
请访问相应流水线的触发事件配置页面,设置如下内容:
- 事件类型:Push
- 触发分支:master(或您的主分支)
- 提交备注关键字匹配:提交信息需包含^release:.*

配置 Release 插件参数
- 选择任务编排,创建 Gitee Go Release 任务:

- 根据实际需求填写相关参数:
高效使用 Gitee Go Release 的技巧与验证

想要深入了解详细的参数配置,可以访问 Gitee Release 的文档页面:https://help.gitee.com/enterprise/pipeline/plugin/gitee-release
技巧分享
标签关联说明:如果存在tagName标签,将直接采用该标签;若不存在,则会根据流水线运行时的提交记录创建新的标签。
附件路径规范:assertFiles中的文件路径应以流水线执行时的工作目录为基础(通常是源码根目录),建议使用ls命令确认文件的正确性,以免因路径问题导致上传失败。
动态变量的运用:支持在参数中调用流水线的全局变量,例如可以通过${GITEE_PIPELINE_BUILD_NUMBER}自动获取当前构建的标签,用作tagName。示例代码如下:
tagName: v.${GITEE_PIPELINE_BUILD_NUMBER}
releaseName: 版本${GITEE_PIPELINE_BUILD_NUMBER}
此外,您还可以切换到代码视图,使用YAML进行更精细的配置。以下是推荐的设置:
stages:
- name: stage-e4e45c6b
displayName: 构建
strategy: naturally
trigger: auto
executor: []
steps:
- step: build@golang
name: build_golang
displayName: Golang 构建
golangVersion: '1.12'
commands:
- CGO_ENABLED=0 && GOOS=linux GOARCH=amd64 go build -o plugin-amd64 main.go
- CGO_ENABLED=0 && GOOS=linux GOARCH=arm64 go build -o plugin-arm64 main.go
artifacts:
- name: PLUGIN_RELEASE
path:
- plugin-amd64
- plugin-arm64
caches:
- /go/pkg/mod
notify: []
strategy:
retry: '0'
- name: stage-1933bd18
displayName: 发版
strategy: naturally
trigger: auto
executor: []
steps:
- step: release@gitee
name: release_gitee
displayName: Gitee Release
releaseName: release-v.${GITEE_PIPELINE_BUILD_NUMBER}
description: CHANGELOG.md
tagName: v.${GITEE_PIPELINE_BUILD_NUMBER}
upstreamArtifact:
- PLUGIN_RELEASE
assertFiles:
- plugin-arm64
- plugin-amd64
prerelease: false
allowUpdate: true
notify: []
strategy:
retry: '0'
执行效果的验证
- 当代码提交并推送后,生成的CHANGELOG.md中,Commit信息为release: add artifact。

- 流水线被成功触发,完成了Gitee Go Release任务的执行,包括Golang构建、标签创建、发布以及附件的上传。
常见问题解答

- 请访问仓库的发行版页面,以查看相关的 Release 信息。

Q:如果附件上传失败,我该怎么办?
A:首先,请利用 ls 命令检查文件路径,确保所用路径是相对于源代码根目录的,而不是绝对路径。
Q:当 Tag 已存在时,如何更新 Release 内容?
A:请勾选「允许覆盖」选项,插件将用新的内容替换同名 Tag 的旧 Release。
Q:怎样自定义 Release 的名称?
A:在插件的参数中添加 releaseName,例如 releaseName: 演示项目v1.0.${GITEE_PIPELINE_BUILD_NUMBER}。
Gitee Go Release 插件将版本发布过程融入流水线中,大幅度提升了自动化水平,使版本发布从「繁杂操作」转变为「流水线的最终步骤」。无论是个人开发者还是团队合作,都能通过此插件提高版本管理的效率。
目前,Gitee Go Release 插件已全面推出于社区版和企业版,欢迎大家尝试并提出反馈建议,我们将不断改进插件功能,以支持更多的发布场景。
本文标题:Gitee Go Release 插件正式上线:一键自动发版与构建产物上传,轻松搞定!
网址:https://www.2090ai.com/2025/11/23/plugins/67628.html
本站所有文章由wordpress极光ai post插件通过chatgpt写作修改后发布,并不代表本站的观点;如果无意间侵犯了你的权益,请联系我们进行删除处理。
如需转载,请务必注明文章来源和链接,谢谢您的支持与鼓励!

