# gitee-release-cli **Repository Path**: Sonic853/gitee-release-cli ## Basic Information - **Project Name**: gitee-release-cli - **Description**: 发行版生成工具 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2022-10-10 - **Last Updated**: 2026-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gitee-release-cli [![npm](https://img.shields.io/npm/l/gitee-release-cli.svg)](https://gitee.com/gitee-frontend/gitee-release-cli/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/gitee-release-cli.svg)](https://gitee.com/gitee-frontend/gitee-release-cli/releases) [![gitee-release-cli](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-gitee--release-blueviolet.svg)](https://gitee.com/gitee-frontend/gitee-release-cli) ## 介绍 一个用于创建发行版的命令行工具。 ## 特性 - 强制执行[语义化版本](https://semver.org)规范 - 基于 [Gitee API](https://gitee.com/api/v5/swagger#/) 为你的项目创建发行版 - 采用 [commitlint](https://github.com/conventional-changelog/commitlint) 的提交信息规范中的约定来记录代码库中的改动 ## 安装 ``` bash npm install -g gitee-release-cli ``` ## 使用 先前往[私人令牌页](https://gitee.com/profile/personal_access_tokens)页创建一个令牌,然后配置: ```bash gitee-release config accessToken 你的令牌 ``` 设置使用中文版的内容(只翻译标题): ```bash gitee-release config locale zh_CN ``` 创建一个发行版: ```bash # 创建发行版,然后提示是否上传发行版到码云 gitee-release create # 创建一个 beta 预发行版 gitee-release create --prerelease beta # 显式指定目标仓库和发行版标题中的项目名称 gitee-release create --repo owner/repo --name "我的项目" # 仅限 npm 项目:更新 package.json 版本,然后推送提交和标签并上传发行版 gitee-release create --with-npm-version --with-git-push --upload ``` ### 仓库和项目名称的来源 创建发行版和上传附件共用以下仓库解析顺序: 1. 命令行 `--repo `,也支持完整的仓库 URL。 2. 当前 Git 仓库的 `origin` 地址。 3. 仓库根目录 `package.json` 中的 `repository`,兼容字符串和 `{ "type": "git", "url": "..." }` 对象。 支持 HTTPS、`git@gitee.com:owner/repo.git`、`ssh://git@gitee.com/owner/repo.git` 等地址。URL 的主机必须与配置的 `apiPrefix` 主机一致(默认是 `gitee.com`)。如果 origin 指向其他平台或本地路径,请用 `--repo owner/repo` 指定 Gitee 目标。显式参数无效时会直接报错;无法解析仓库时也会报错,不会向 `unknown/unknown` 发出请求。 `origin` 优先于 `package.json.repository`,因此 fork 仓库默认使用自己的远程地址。要发布到其他仓库,请显式传入 `--repo`。 发行版标题中的项目名称按 `--name`、根目录 `package.json.name`、仓库名依次选择。缺失或无法解析的 `package.json` 不会阻止普通创建和附件上传;无法解析时会给出警告。可从仓库子目录运行命令,元数据和变更日志统一以 Git 根目录为准,不使用子包或仓库外父目录的清单。 版本仍由最新发行版(或 `--latest-version`)和提交历史推导;没有历史版本时从 `1.0.0` 开始,不依赖 `package.json.version`。只有显式启用 `--with-npm-version` 时,才要求根目录存在包含有效版本号的 `package.json`,并在该目录执行 `npm version`。不满足条件时,会在请求 API 或修改 Git 前报错。 ### 上传附件 给最新的发行版上传一个附件: ```bash gitee-release assets upload /path/to/file.zip ``` 给指定版本(例如:2.3.0)的发行版上传一个附件: ```bash gitee-release assets upload /path/to/file.zip --target 2.3.0 # 没有 Git checkout 或 package.json 时,也可以直接指定目标仓库 gitee-release assets upload /path/to/file.zip --repo owner/repo --target 2.3.0 ``` 如果觉得手动输入这些命令太麻烦,可在 package.json 中添加以下内容: ```json { "scripts": { "release": "gitee-release create --with-npm-version --with-git-push --upload", "release-beta": "npm run release -- --prerelease beta" } } ``` ## 小徽标 将此徽标包含在 README.md 自述文件中,可以让他人知道你的项目是使用 gitee-release-cli 发布的。 [![gitee-release-cli](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-gitee--release-blueviolet.svg)](https://gitee.com/gitee-frontend/gitee-release-cli) ```markdown [![gitee-release-cli](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-gitee--release-blueviolet.svg)](https://gitee.com/gitee-frontend/gitee-release-cli) ``` ## 常见问题 - **我为什么要选择 gitee-release-cli 而不是 semantic-release?** 如果你懒得看 [semantic-release](https://github.com/semantic-release/semantic-release) 的英文说明文档的话,可以先试试 gitee-release-cli。 - **对代码库里的提交信息格式有什么要求?** 需要遵循 [commitlint](https://github.com/conventional-changelog/commitlint) 的提交信息规范。 ## 许可 基于 [MIT 许可协议](LICENSE)发布。