Gitee Go Release 插件正式上线:一键自动发版与构建产物上传,轻松搞定!

在持续集成的过程中,发布版本往往需要执行许多重复且容易出错的步骤,比如手动创建标签、修改更新说明以及上传构建产物等等。如果这些环节缺乏自动化,不仅会降低工作效率,还可能引发错误的发生。

为了解决这一问题,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 插件上线:自动发版、上传构建产物一步到位 – 今日头条
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

本文标题:Gitee Go Release 插件正式上线:一键自动发版与构建产物上传,轻松搞定!
网址:https://www.2090ai.com/2025/11/23/plugins/67628.html



本站所有文章由wordpress极光ai post插件通过chatgpt写作修改后发布,并不代表本站的观点;如果无意间侵犯了你的权益,请联系我们进行删除处理。
如需转载,请务必注明文章来源和链接,谢谢您的支持与鼓励!