


























在持续集成过程中,版本发布常常伴随一系列重复且易错的操作:手动创建 Tag、编辑更新说明、上传构建产物……这些步骤若不能自动完成,不仅效率低下,也易埋下失误隐患。
为此,Gitee 流水线现已支持 Release 插件,提供从构建产物到版本发布的完整自动化能力。插件可将版本信息、更新日志、构建文件一键发布至仓库 Release 页面,适用于正式发版、预发布测试、开源产物同步等场景。
Gitee Go Release 插件定位为流水线内的发布步骤,通过配置参数可完成以下任务:
适配 Gitee 流水线的插件机制,用户可通过表单或 YAML 方式快速集成。
💻 开源项目:合并主干后自动发布更新日志与构建产物,贡献者可直接下载最新版本。
💻 迭代发布:读取 CHANGELOG.md 作为描述,上传 dist 压缩包,全流程无需手动操作。
💻 测试发布:启用「预发布」与「允许覆盖」,支持同一 Tag 下多次更新,用于测试验证。
以下是一个典型流程:当开发者在主干提交包含release:前缀的变更时,流水线自动触发构建并发布 Release。
进入对应流水线的触发事件配置页面,设置如下:
^release:.*


详细参数说明可查看 Gitee Release 文档页面:https://help.gitee.com/enterprise/pipeline/plugin/gitee-release
Tag 关联说明:tagName标签存在将会直接使用,不存在的话会基于流水线运行的 commit 为起点创建 Tag。
附件路径规范: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}
# Release描述:读取CHANGELOG.md内容,附加构建信息
description: CHANGELOG.md
# Tag名称:结合构建号生成,格式如v1.0.1
tagName: v.${GITEE_PIPELINE_BUILD_NUMBER}
# 上游构建产物标识
upstreamArtifact:
- PLUGIN_RELEASE
# 附件文件列表
assertFiles:
- plugin-arm64
- plugin-amd64
# 预发布版本:测试阶段可改为true,正式发布改为false
prerelease: false
# 允许覆盖:测试阶段可改为true,正式发布改为false
allowUpdate: true
notify: []
strategy:
retry: '0'
CHANGELOG.md,Commit 信息为release: add artifact。


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 插件已在社区版与企业版全面上线,欢迎试用并在使用过程中反馈建议,我们将持续优化插件功能,支持更多发布场景。

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。