szykra / gitlab-hook-receiver
此包已废弃,不再维护。未建议替代包。
配置 Gitlab `on push` 钩子后任务的简单方法。
0.1.1
2014-07-05 19:05 UTC
Requires
- php: >=5.3.0
- monolog/monolog: ~1.10
Requires (Dev)
- phpspec/phpspec: ~2.0
This package is not auto-updated.
Last update: 2020-05-07 07:50:53 UTC
README
GitLab 钩子服务的辅助工具。
这是什么?
这是一个简单的类集,用于帮助创建 GitLab POST 钩子。目前它支持 Push Events
。
它是如何工作的?
想象一下,你有一个 VCS 中的项目。每次你将提交推送到 master 分支时,你的生产服务器会自动拉取所有更改。你使用 composer 吗?你可以在提交信息中传输特殊命令,以在生产环境中运行 composer install
。看示例。
安装
通过 composer 安装或将它直接放入 composer.json
文件,并运行 composer update
。
require: {
"szykra/gitlab-hook-receiver": "0.1.*"
}
##示例
$directory = '/path/to/your/project/directory'; // Instance of Logger, in this case it's Monolog $logger = new Logger("ON_PUSH", [new StreamHandler('hook.log')]); // Create new Receiver and inject instance of Logger $receiver = new GitLabRequestReceiver($logger); // Set Gitlab POST data to Receiver Object $receiver->prepareData(file_get_contents('php://input')); // Add GitPullCommandListener to Receiver, argument is your git repository // It automatically pull changes from current project branch $receiver->addCommandListener(new GitPullCommandListener($directory)); // Add ComposerCommandListener to Receiver, argument is your project directory with composer.json file // Now you can transfer composer action through commit message e.g. [composer:update] $receiver->addCommandListener(new ComposerCommandListener($directory)); // Run all listeners $receiver->run();