aoe / tagging
构建工具,用于自动增加版本并在远程VCS仓库中创建标签。
Requires
- php: >=5.6.0
- symfony/console: 2.7.*
- vierbergenlars/php-semver: 4.0.0
- webcreate/vcs: 1.2.*
Requires (Dev)
- phpunit/phpunit: 4.7.*
- squizlabs/php_codesniffer: 2.3.*
README
Tagging
这个PHP库提供在远程VCS仓库中根据最后创建的标签/版本自动创建新标签/版本的功能。它遵循语义化版本控制模式:[http://semver.org/](http://semver.org/)。您可以配置要增加的版本类型。例如,可以是“major”或“minor”增加。
功能
- 遵循语义化版本控制模式
- 支持主版本、次版本和补丁版本
- 集成GIT
- 在创建新标签/版本之前提交(并推送)额外文件
- 干运行。仅评估下一个标签/版本
索引
安装
此库是用composer构建的。因此,您可以克隆此存储库并使用composer安装依赖项,或者在项目的composer.json中添加此库。
克隆
从GitHub克隆存储库
git clone https://github.com/AOEpeople/Tagging.git .
并使用composer安装依赖项
wget https://getcomposer.org.cn/composer.phar
php composer.phar install
Composer
或将包名添加到您的composer.json中
"require": {
"aoe/tagging": "0.1.*"
}
使用
php bin/tagging [VCS] [REPOSITORY] [PATH]
例如
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout
版本类型
默认情况下,版本将通过“补丁”版本增加。例如:0.2.5将增加到0.2.6。您可以通过设置--version-type
选项来配置要增加的版本类型。
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --version-type=minor
在上面的示例中,次要版本将增加。例如:0.2.5将增加到0.3.0。
允许的版本类型有
- major
- minor
- patch
在创建新标签/版本之前提交文件
在某些情况下,在创建新标签/版本之前提交(并推送)文件到远程是有用的。例如,如果您有一个版本文件在您的存储库中,在创建新标签/版本之前必须更新它。如果需要提交(并推送)文件到远程,请添加--commit-and-push
选项。值是必需的,必须包含要提交文件的相对路径。
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --commit-and-push=version.txt
上面的示例将在创建新标签/版本之前提交(并推送)“version.txt”文件到远程。
如果您想自定义提交消息,请添加--message
选项并指定消息作为值。默认情况下,消息为空。
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --commit-and-push=version.txt --message="my custom commit message"
自定义起始版本
有时需要定义新版本是从哪个版本生成的。例如,您已经有了以下现有版本
- 1.1.0
- 1.2.0
但是您需要为1.1.0(1.1.1)创建一个补丁版本。由于这个库始终使用您的最新版本进行增加,所以它将为1.2.0(1.2.1)创建一个补丁版本。为了避免这种情况,可以通过设置选项--from-version
并将值设置为1.1.0
来指定起始版本。这将创建版本1.1.1。
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --from-version=1.1.0
评估(干运行)
您可以将--evaluate
选项设置为找出将创建哪个标签/版本。如果设置了此选项,实际上不会做任何事情。您只是会看到如果没有设置评估选项,将会创建的下一个版本/标签的输出。
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --evaluate
分支标签
有时我们甚至需要为分支打标签,例如,在您将错误修复推送到您的分支而不是推送到master之后。在这种情况下,只需设置带有分支名称的选项:--branch
即可。
php bin/tagging git https://github.com/company/package.git /path/to/local/branch-checkout --branch=myBranchName
检出指定分支
如果您有任何需要提交和推送到特定分支的更改,您必须在提交和推送之前检出该特定分支。这可以通过添加选项--switch-branch
来实现。但为了能够检出特定分支,您还必须使用--branch
指定分支名称。
php bin/tagging git https://github.com/company/package.git /path/to/local/branch-checkout --branch=myBranchName --switch-branch