leviy / release-tool
用于发布项目新版本的命令行工具
Requires
- php: ^8.3
- beberlei/assert: ^3.2
- consolidation/self-update: ^2.0
- guzzlehttp/guzzle: ^6.3
- symfony/config: ^5.0
- symfony/console: ^5.0
- symfony/dependency-injection: ^5.0
- symfony/yaml: ^5.0
Requires (Dev)
- behat/behat: ^3.12
- leviy/coding-standard: ^4.0
- mockery/mockery: ^1.1
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.0
- symfony/process: ^5.0
README
发布工具
受 Liip RMT 启发,此发布工具可帮助您自动化软件新版本的发布。它用 PHP 编写,但只要您的机器上安装了 PHP,就可以用于任何类型的项目。
功能
- 根据 语义化版本 确定下一个版本号
- 创建带有注释的 Git 标签并将其推送到远程仓库
- 创建具有发布名称和自上一版本以来变更的日志的 GitHub 发布
- 支持预发布(alpha/beta/rc)版本
安装
Phar(推荐)
安装此包的推荐方法是使用 Phar 文件。这是因为使用 Composer 安装可能会导致依赖冲突。您可以从 GitHub 发布 页面下载最新的 Phar 文件。
全局安装(Linux)
将下载的 release-tool.phar
文件移动到您的 PATH 中(例如 ~/bin/release-tool
)。请确保设置文件为可执行权限(例如 chmod 775 release-tool
)。
Composer
或者,您可以使用 Composer 安装此包
composer require --dev leviy/release-tool
配置
GitHub 个人访问令牌
此工具需要一个具有 repo
权限的个人访问令牌来创建 GitHub 发布。在此 处 创建一个,并将其存储在您的主目录 .release-tool/auth.yml
中(Linux 上的 ~
,Windows 上的用户文件夹)
credentials: github: token: <token>
使用方法
注意:以下使用说明假定您已将
release-tool.phar
文件下载到您的项目目录中。如果您将其安装在其他位置,请相应地更新命令。如果您将其作为 Composer 依赖项安装,请使用vendor/bin/release
代替。
发布新版本
使用 release-tool.phar release <version>
发布版本。例如
release-tool.phar release 1.0.0
这将发布版本 1.0.0。默认情况下,这将创建一个带有前缀的注释 Git 标签,在本例中为 v1.0.0
。
自动生成版本号
标记第一个版本后,您可以允许工具根据当前版本和一系列问题为您计算新版本号。为此,省略前一个命令中的版本
release-tool.phar release
预发布版本
如果您想创建预发布(alpha/beta/rc)版本,请运行
release-tool.phar release --pre-release
其他命令
运行 release-tool.phar list
查看可用命令列表。
更新发布工具
以下命令将更新发布工具到最新版本
release-tool.phar self-update