shopen-group / satis-hook
dev-develop
2019-06-07 11:41 UTC
Requires
- php: ^7.1
- monolog/monolog: ^1.24
- nette/http: ^2.4
- symfony/console: ^4.1
- symfony/finder: ^4.1
- symfony/process: ^4.1
- symfony/yaml: ^4.1
Requires (Dev)
- phpstan/phpstan: ^0.10.0
- phpunit/phpunit: ^7
- symplify/easy-coding-standard: ^3.2.30
This package is not auto-updated.
Last update: 2024-09-22 10:58:20 UTC
README
通过 webhook 重建 composer/satis 的简单应用程序。
- 无需数据库
安装
安装 composer 包
composer require shopen-group/satis-hook dev-develop
创建配置
# config.yaml secret: enabled: true # secret token is enabled location: param # location of "secret" parameter (param|header) value: veslo # secret value name: key # secret parameter name satis: php: /usr/bin/php bin: ../satis/bin/satis config: ../satis.json output: ../web
创建入口点
我们的入口点将是 hook.php
,它可以通过 HTTP 公共访问。
ApplicationFactory::createApplication 有三个参数。你可以自定义前两个参数。
- config.yaml 的路径
- 可写 TEMP 文件夹的路径(用于存储请求)
<?php declare(strict_types=1); require_once __DIR__ . '/vendor/autoload.php'; use ShopenGroup\SatisHook\ApplicationFactory; $application = ApplicationFactory::createApplication(__DIR__ . '/config.yaml', __DIR__ . '/temp', __DIR__ . '/logs', $argc); $application->run();
用法
Webhook
应用程序通过 https://127.0.0.1/hook.php
接受 GET 和 POST 请求。有一个可选参数 "build-all"。如果请求中存在 "build-all" 参数,你可以构建所有包,而不仅仅是特定的包(http:/127.0.0.1/hook.php?repository=package/name
)。
队列处理
应用程序还有一个 "第二层" - 队列处理。为了通过 CLI 开始处理接受的请求,你必须运行以下命令。
php hook.php satis-hook:build
我们使用 supervisord 来保持队列处理运行。