惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

Gitee 官方博客

花几千块报志愿之前,先把这 7 个问题问清楚 Gitee 618 年中盛典开启:企业版新购最高送一年,PocketClaw 首次限时折扣 Gitee 成为首批「供应链安全号」成员单位,携手共建国产工业软件生态 七大赛道 TOP 10 公布!Gitee 年度开源项目评选结果正式揭晓 GLM-Image 上线模力方舟:首个国产芯片训练的多模态图像生成模型 「开源技术」正式纳入国家职教体系,Gitee 已为开源教育落地做好准备 Gitee 软件工厂:以密级管理为底座,构建符合国家保密资质的安全研发体系 Claude Code 的代码安全困境:插件机制齐全,却绕不开模型幻觉 北京中关村学院入驻 Gitee:打造 AI for Science 教学新范式 Gitee 移动软件工厂:突破网络限制的开发新模式 从依赖到可控:开源基础设施的国家命题 模力方舟 MCP Server 上线:在 Cursor 里玩 AI 生图+语音 【国内首家】 Gitee Repo 通过信通院《可信制品管理能力分级要求》先进级(最高级)评估 Gitee Repo 助力关键领域 DevSecOps落地:构建安全可控的制品管理体系 会翻译、懂产品、还能画头像:Gitee 智能三连上线! Gitee Pipe:关键领域 DevSecOps 的核心引擎 时代命题下的民营科技担当:从备份战略看 Gitee 的国家定位 没人喜欢写 README?Gitee:现在你不用写了 关键领域软件工厂的安全中枢:Gitee Scan 全面升级供应链检测能力 Gitee MCP 现已支持远程访问:无需本地部署,AI 助手即插即用 Gitee 企业版效能度量全面升级:构建可衡量、可洞察、可优化的研发体系 高标准+安全可控:关键领域研发为什么选择 Gitee Code? 河南农担 x Gitee:以数字化赋能「三农」信贷服务新范式 Gitee Test:驱动软件工厂DevSecOps 落地,保障关键领域安全稳定 马建仓 AI 助手全流程升级:更聪明的研发搭子,更专业的协作助手 从公益初心到商业化探索,开源中国助推中国开源生态之路 以知识管理赋能 DevSecOps,Gitee Wiki 加速关键领域软件自主演进 Gitee 企业版测试管理全面升级:流程更顺畅,交付更可靠 Gitee 企业版 AI 队友邀测开启:程序员的贴身助理来了 Gitee 构件治理实践:CBB 分布式管理助力软件工厂建设
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位
Gitee · 2026-01-23 · via Gitee 官方博客

在持续集成过程中,版本发布常常伴随一系列重复且易错的操作:手动创建 Tag、编辑更新说明、上传构建产物……这些步骤若不能自动完成,不仅效率低下,也易埋下失误隐患。

为此,Gitee 流水线现已支持 Release 插件,提供从构建产物到版本发布的完整自动化能力。插件可将版本信息、更新日志、构建文件一键发布至仓库 Release 页面,适用于正式发版、预发布测试、开源产物同步等场景。

将 Release 流程集成至流水线

Gitee Go Release 插件定位为流水线内的发布步骤,通过配置参数可完成以下任务:

  • 自动创建 Release 页面,附带描述与构建产物;
  • 自动生成或复用对应 Tag;
  • 支持预发布版本与重复覆盖;
  • 结合流水线变量实现构建号驱动的版本管理。

适配 Gitee 流水线的插件机制,用户可通过表单或 YAML 方式快速集成。

应用场景示例

💻 开源项目:合并主干后自动发布更新日志与构建产物,贡献者可直接下载最新版本。

💻 迭代发布:读取 CHANGELOG.md 作为描述,上传 dist 压缩包,全流程无需手动操作。

💻 测试发布:启用「预发布」与「允许覆盖」,支持同一 Tag 下多次更新,用于测试验证。

手把手实操一次自动发布流程

以下是一个典型流程:当开发者在主干提交包含release:前缀的变更时,流水线自动触发构建并发布 Release。

配置触发条件

进入对应流水线的触发事件配置页面,设置如下:

  • 事件类型:Push
  • 触发分支:master(或你的主分支)
  • 提交注释关键字匹配:提交信息包含^release:.*
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客

配置 Release 插件参数

  • 选择任务编排,新建 Gitee Go Release 任务:
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客
  • 根据需求填入相关参数:
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客

详细参数说明可查看 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
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客
  • 流水线被触发,成功完成 Gitee Go Release 任务的执行:Golang 构建、tag 创建、release 创建、附件上传。
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客
  • 进入仓库发行版页面,查看对应的 Release。
Gitee Go Release 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客

常见问题解答

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 插件上线:自动发版、上传构建产物一步到位-Gitee 官方博客