szykra/gitlab-hook-receiver

此包已废弃,不再维护。未建议替代包。

配置 Gitlab `on push` 钩子后任务的简单方法。

0.1.1 2014-07-05 19:05 UTC

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();