richardpayment / satis-hook
dev-main
2024-08-04 01:30 UTC
Requires
- php: ^8.0.2
- monolog/monolog: ^3.7.0
- nette/http: ^3.3
- symfony/console: ^7.1
- symfony/finder: ^7.1
- symfony/process: ^7.1
- symfony/yaml: ^7.1
This package is not auto-updated.
Last update: 2024-09-29 18:08:46 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 公开访问。
ApplicationBuilder::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 来保持队列处理运行。