shopen-group/satis-hook

dev-develop 2019-06-07 11:41 UTC

This package is not auto-updated.

Last update: 2024-09-22 10:58:20 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 公共访问。

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 来保持队列处理运行。