在前端开发中,我们经常需要发布和更新我们的项目。而 Github 是一个广泛使用的代码托管平台,许多开源项目都会托管在 Github 上。为了方便地发布和管理这些开源项目的版本,Github 提供了 releases 功能。通过 release,我们可以将项目的特定版本打包并发布到 Github 上,并提供 changelog 和下载链接等信息。
然而,对于不熟悉命令行操作或希望简化发布流程的开发者来说,使用 Github Releases 可能有一定的门槛。因此,npm 包 ghreleases 提供了一种更加便捷的方式来管理 Github Releases。
本文将介绍如何使用 npm 包 ghreleases 来发布和管理 Github Releases。
安装 ghreleases
要使用 ghreleases,首先需要安装它。在命令行中执行以下命令即可安装最新版本:
npm install --global ghreleases
发布 Release
创建 access token
在使用 ghreleases 之前,我们需要创建一个 Github personal access token。access token 是用于授权访问 Github API 的 token,我们需要授予它发布和编辑 release 的权限。
创建 access token 的方法如下:
- 在 Github 设置页面中选择 Developer settings -> Personal access tokens。
- 点击 Generate new token。
- 输入 token 描述和选择需要的 scopes,勾选 repo 和 delete_repo 权限。
- 点击 Generate token。
注意:生成的 token 只会显示一次,请妥善保存。
发布 Release
在创建了 access token 之后,我们可以使用 ghreleases 来发布 release。在命令行中执行以下命令:
ghreleases create owner/repo tagname
其中 owner
是 Github 用户名,repo
是项目名称,tagname
是 release 对应的 Git tag 名称。
执行该命令后,ghreleases 会提示输入 access token 和一些 release 的信息,如版本号、标题、描述、附件等。根据提示输入相关信息即可创建 release。
例如,要在用户名为 example-user
,项目名为 example-repo
的项目上发布一个名为 v1.0.0
的 release,可以执行以下命令:
ghreleases create example-user/example-repo v1.0.0
管理 Release
除了发布 release,ghreleases 还提供了许多其他的功能来管理已有的 release。以下是一些常用的 ghreleases 命令:
- 列出所有 release:
ghreleases list owner/repo
- 编辑 release:
ghreleases edit owner/repo tagname
- 删除 release:
ghreleases delete owner/repo tagname
例如,要列出用户名为 example-user
,项目名为 example-repo
的项目的所有 release,可以执行以下命令:
ghreleases list example-user/example-repo
示例代码
下面是一个使用 ghreleases 发布和管理 Github Releases 的示例代码:
-- -------------------- ---- ------- ----- - ---- - - ------------------------- ----- ---------- - ---------------------- ----- ----- - --------------- ----- ---- - --------------- ----- ------- - --------- -- -- --- --- --------- ------- - --- --- --------- --- ------------ ------- ------- ------- -- - -- ------- - ------------------- ------ ----------- ------- - -- -- --- --- ----- --------- ---- ------ ------------ ------- ------- ------- -- - -- ------- - ------------------- ------ ----------- ------- - -- -- ---------- -- ------- ------------------------ ----- -------- ----- ---- -- - -- ----- - ------------------- ------- - -------------------- ---------- ----- --- --- ---
该代码使用 Node.js 和 ghre
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/42203