gitlab-release

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Release Skill

版本发布技能

Release operations for GitLab using the
glab
CLI.
使用
glab
CLI工具进行GitLab版本发布操作。

Quick Reference

快速参考

OperationCommandRisk
List releases
glab release list
-
View release
glab release view <tag>
-
Create release
glab release create <tag>
⚠️
Upload assets
glab release upload <tag> <files>
⚠️
Download assets
glab release download <tag>
-
Delete release
glab release delete <tag>
⚠️⚠️
Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger
操作命令风险
列出版本发布记录
glab release list
-
查看版本发布详情
glab release view <tag>
-
创建版本发布
glab release create <tag>
⚠️
上传资源文件
glab release upload <tag> <files>
⚠️
下载资源文件
glab release download <tag>
-
删除版本发布记录
glab release delete <tag>
⚠️⚠️
风险等级说明: - 安全 | ⚠️ 注意 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危险

When to Use This Skill

何时使用本技能

ALWAYS use when:
  • User wants to work with releases
  • User mentions "release", "version", "changelog", "tag" (for releases)
  • User wants to publish or distribute software versions
NEVER use when:
  • User wants to manage git tags directly (use git commands)
  • User wants CI/CD operations (use gitlab-ci instead)
务必在以下场景使用:
  • 用户需要处理版本发布相关操作
  • 用户提及“release”、“version”、“changelog”、“tag”(版本发布相关)
  • 用户需要发布或分发软件版本
请勿在以下场景使用:
  • 用户需要直接管理Git标签(使用Git命令)
  • 用户需要执行CI/CD操作(使用gitlab-ci相关技能)

Available Commands

可用命令

List Releases

列出版本发布记录

bash
glab release list [options]
Options:
FlagDescription
-P, --per-page=<n>
Results per page
--all
Get all releases
Examples:
bash
undefined
bash
glab release list [options]
选项:
标记描述
-P, --per-page=<n>
每页显示结果数
--all
获取所有版本发布记录
示例:
bash
undefined

List all releases

列出所有版本发布记录

glab release list
glab release list

List with more results

列出更多结果

glab release list --per-page=50
undefined
glab release list --per-page=50
undefined

View Release Details

查看版本发布详情

bash
glab release view <tag> [options]
Options:
FlagDescription
-w, --web
Open release in browser
Examples:
bash
undefined
bash
glab release view <tag> [options]
选项:
标记描述
-w, --web
在浏览器中打开版本发布页面
示例:
bash
undefined

View release details

查看版本发布详情

glab release view v1.0.0
glab release view v1.0.0

Open release in browser

在浏览器中打开版本发布页面

glab release view v1.0.0 --web
undefined
glab release view v1.0.0 --web
undefined

Create Release

创建版本发布

bash
glab release create <tag> [options]
Options:
FlagDescription
-n, --notes=<notes>
Release notes
-F, --notes-file=<file>
Read release notes from file
-N, --name=<name>
Release name (defaults to tag)
-r, --ref=<ref>
Git ref to create tag from (if tag doesn't exist)
-a, --assets-links=<json>
JSON array of asset links
--milestone=<titles>
Milestone titles to associate
Examples:
bash
undefined
bash
glab release create <tag> [options]
选项:
标记描述
-n, --notes=<notes>
版本发布说明
-F, --notes-file=<file>
从文件读取版本发布说明
-N, --name=<name>
版本发布名称(默认使用标签名)
-r, --ref=<ref>
用于创建标签的Git引用(如果标签不存在)
-a, --assets-links=<json>
资源链接的JSON数组
--milestone=<titles>
关联的里程碑标题
示例:
bash
undefined

Create simple release

创建简单版本发布

glab release create v1.0.0
glab release create v1.0.0

Create with release notes

创建带版本发布说明的版本

glab release create v1.0.0 -n "## What's New
  • Feature A
  • Bug fix B"
glab release create v1.0.0 -n "## 新功能
  • 功能A
  • 修复Bug B"

Create with notes from file

从文件读取说明创建版本

glab release create v1.0.0 -F CHANGELOG.md
glab release create v1.0.0 -F CHANGELOG.md

Create with name and milestone

创建带名称和里程碑的版本

glab release create v1.0.0 -N "Version 1.0.0" --milestone="Sprint 5"
glab release create v1.0.0 -N "Version 1.2.0" --milestone="Sprint 5"

Create from specific commit

从指定提交创建版本

glab release create v1.0.0 -r abc123def
undefined
glab release create v1.0.0 -r abc123def
undefined

Upload Assets

上传资源文件

bash
glab release upload <tag> <file>... [options]
Upload files as release assets.
Examples:
bash
undefined
bash
glab release upload <tag> <file>... [options]
将文件上传为版本发布资源。
示例:
bash
undefined

Upload single file

上传单个文件

glab release upload v1.0.0 ./dist/app.zip
glab release upload v1.0.0 ./dist/app.zip

Upload multiple files

上传多个文件

glab release upload v1.0.0 ./dist/*.tar.gz
glab release upload v1.0.0 ./dist/*.tar.gz

Upload with custom name

自定义名称上传文件

glab release upload v1.0.0 ./build/app.exe#windows-binary
undefined
glab release upload v1.0.0 ./build/app.exe#windows-binary
undefined

Download Assets

下载资源文件

bash
glab release download <tag> [options]
Options:
FlagDescription
-D, --dir=<dir>
Download directory
-n, --asset-name=<name>
Download specific asset by name
Examples:
bash
undefined
bash
glab release download <tag> [options]
选项:
标记描述
-D, --dir=<dir>
下载目录
-n, --asset-name=<name>
按名称下载特定资源
示例:
bash
undefined

Download all assets

下载所有资源

glab release download v1.0.0
glab release download v1.0.0

Download to specific directory

下载到指定目录

glab release download v1.0.0 -D ./downloads/
glab release download v1.0.0 -D ./downloads/

Download specific asset

下载特定资源

glab release download v1.0.0 -n "app.zip"
undefined
glab release download v1.0.0 -n "app.zip"
undefined

Delete Release

删除版本发布记录

bash
glab release delete <tag> [options]
Options:
FlagDescription
-y, --yes
Skip confirmation
--with-tag
Also delete the associated tag
Warning: This permanently deletes the release.
Examples:
bash
undefined
bash
glab release delete <tag> [options]
选项:
标记描述
-y, --yes
跳过确认步骤
--with-tag
同时删除关联的标签
警告: 此操作会永久删除版本发布记录。
示例:
bash
undefined

Delete release (prompts for confirmation)

删除版本发布记录(需确认)

glab release delete v1.0.0
glab release delete v1.0.0

Delete release and tag

删除版本发布记录及关联标签

glab release delete v1.0.0 --with-tag
glab release delete v1.0.0 --with-tag

Delete without confirmation

直接删除(无需确认)

glab release delete v1.0.0 --yes
undefined
glab release delete v1.0.0 --yes
undefined

Common Workflows

常见工作流

Workflow 1: Standard Release

工作流1:标准版本发布

bash
undefined
bash
undefined

1. Ensure all changes are merged

1. 确保所有变更已合并

glab mr list --state=opened
glab mr list --state=opened

2. Verify CI passes

2. 验证CI执行通过

glab ci status --branch=main
glab ci status --branch=main

3. Create release with changelog

3. 结合变更日志创建版本发布

glab release create v1.2.0 -F CHANGELOG.md -N "Version 1.2.0"
glab release create v1.2.0 -F CHANGELOG.md -N "Version 1.2.0"

4. Upload binaries

4. 上传二进制文件

glab release upload v1.2.0 ./dist/*
undefined
glab release upload v1.2.0 ./dist/*
undefined

Workflow 2: Pre-release

工作流2:预发布版本

bash
undefined
bash
undefined

Create pre-release version

创建预发布版本

glab release create v2.0.0-beta.1
-n "Beta release for testing. Not for production use."
undefined
glab release create v2.0.0-beta.1
-n "Beta版本供测试使用,请勿用于生产环境。"
undefined

Workflow 3: Hotfix Release

工作流3:热修复版本发布

bash
undefined
bash
undefined

1. Create release from hotfix branch

1. 从热修复分支创建版本发布

glab release create v1.0.1 -r hotfix/critical-fix
-n "Hotfix release:
  • Fixed critical security issue"
glab release create v1.0.1 -r hotfix/critical-fix
-n "热修复版本:
  • 修复严重安全问题"

2. Upload patched binaries

2. 上传修复后的二进制文件

glab release upload v1.0.1 ./dist/*
undefined
glab release upload v1.0.1 ./dist/*
undefined

Release Notes Best Practices

版本发布说明最佳实践

Structure your release notes:
markdown
undefined
版本发布说明建议按以下结构编写:
markdown
undefined

What's New

新功能

  • Feature descriptions
  • 功能描述

Bug Fixes

Bug修复

  • Fix descriptions
  • 修复内容描述

Breaking Changes

破坏性变更

  • Migration notes
  • 迁移说明

Contributors

贡献者

  • @username
undefined
  • @用户名
undefined

Troubleshooting

故障排查

IssueCauseSolution
Authentication failedInvalid/expired tokenRun
glab auth login
Tag already existsDuplicate releaseUse different tag or delete existing
Release not foundInvalid tagVerify tag with
glab release list
Upload failedFile not foundCheck file path exists
问题原因解决方案
认证失败令牌无效/已过期执行
glab auth login
重新登录
标签已存在版本发布重复使用不同标签或删除现有标签
版本发布记录未找到标签无效使用
glab release list
验证标签是否存在
上传失败文件不存在检查文件路径是否正确

Related Documentation

相关文档

  • Safeguards
  • Quick Reference
  • 安全防护措施
  • 快速参考