richardpayment/satis-hook

dev-main 2024-08-04 01:30 UTC

This package is not auto-updated.

Last update: 2024-09-29 18:08:46 UTC


README

Build Status

一个简单的应用程序,用于通过 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 来保持队列处理运行。