seretos / gitlab-client
用于构建 GitLab 仓库的客户端
v0.1.5
2017-02-16 15:15 UTC
Requires
- php: >=5.6
- m4tthumphrey/php-gitlab-api: ^7.15
- symfony/config: ^3.2
- symfony/console: ^3.2
- symfony/dependency-injection: ^3.2
- symfony/yaml: ^3.2
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-09-23 13:21:39 UTC
README
此包提供了两个控制台命令,用于自动化使用 GitLab 创建发布/标签
安装
全局安装 phar
wget https://github.com/Seretos/gitlab-client/releases/download/v0.1.2/gitlab-client.phar
chmod +x gitlab-client.phar
sudo mv gitlab-client.phar /usr/local/bin/gitlab-client
或在您的 composer 项目中添加 require
composer require seretos/gitlab-client
用法
如果全局安装
gitlab-client list
或在 composer 安装上
php vendor\bin\gitlab-client list
build:child 命令
示例
gitlab-client build:child --server-url http://your.gitlab.api/api/v3/ --auth-token yourUserToken --repository yourRepositoryName --branch yourBranch
此命令根据给定的分支名称创建新的分支/标签。
例如,如果您用 master 分支执行此命令,该命令会显示哪些分支存在。如果存在分支 0,则命令会从 master 生成新的分支 1。如果存在 1,则命令创建名为 2 的分支,依此类推。如果您使用分支 1,2 或其他单个数字分支执行此命令,则命令会生成类似于 1.0,0.2 的新分支。如果您从分支 1.0 执行命令,则命令创建名为 v1.0.0 或 v1.0.1 的标签...
protect:branch 命令
示例
gitlab-client protect:branch --server-url http://your.gitlab.api/api/v3/ --auth-token yourUserToken --repository yourRepositoryName --branch yourBranch
此命令将给定的分支设置为受保护。
coverage:check 命令
示例
phpunit --bootstrap vendor/autoload.php --configuration phpunit.xml.dist --coverage-clover build/logs/clover.xml
gitlab-client coverage:check --clover-file path/to/your/clover.xml --percentage 100
此命令检查代码覆盖率是否大于给定的百分比。
copy:members 命令
gitlab-client copy:members --server-url http://your.gitlab.api/api/v3/ --auth-token yourUserToken --source-group yourSourceGroup --destination-group yourDestinationGroup
此命令将源组中找到的所有用户添加到目标组中,但这些用户不存在于目标组中
replace:readme 命令
此命令在您的仓库-分支的 readme.md 中搜索以下正则表达式 /?branch=([\d\w.-]*)/,并将其更改为 ?branch=yourBranch
gitlab-client replace:readme --server-url http://your.gitlab.api/api/v3/ --auth-token yourUserToken --repository yourRepositoryName --branch yourBranch
在 gitlab-ci.yml 中的示例用法
test: script: - phpunit --bootstrap vendor/autoload.php --configuration phpunit.xml.dist --coverage-clover build/logs/clover.xml - gitlab-client coverage:check --clover-file path/to/your/clover.xml --percentage 100 - gitlab-client replace:readme --server-url http://$CI_SERVER_NAME/api/v3/ --auth-token yourToken --repository $CI_PROJECT_NAME --branch $CI_BUILD_REF_NAME release: script: - gitlab-client protect:branch --server-url http://$CI_SERVER_NAME/api/v3/ --auth-token yourToken --repository $CI_PROJECT_NAME --branch $CI_BUILD_REF_NAME - gitlab-client build:child --server-url http://$CI_SERVER_NAME/api/v3/ --auth-token yourToken --repository $CI_PROJECT_NAME --branch $CI_BUILD_REF_NAME only: - /^(master|\d+(.\d+)?)$/