rarst/release-belt

ZIP 文件的 Composer 仓库

0.7 2022-06-06 15:27 UTC

This package is auto-updated.

Last update: 2024-09-20 18:18:35 UTC


README

Tests Status Latest Stable Version PHP from Packagist PDS Skeleton

Release Belt 是一个 Composer 仓库,用于快速将第三方非 Composer 发布版集成到 Composer 工作流程中。一旦安装了 Release Belt 并上传了带有相应版本号的 zip 文件,Release Belt 会完成其余的工作。

假设以下文件夹结构

releases/wordpress-plugin/rarst/plugin.1.0.zip

它将自动在 /packages.json 中提供以下 Composer 仓库

{
    "packages": {
        "rarst/plugin": {
            "1.0": {
                "name": "rarst/plugin",
                "version": "1.0",
                "dist": {
                    "url": "http://example.com/rarst/plugin.1.0.zip",
                    "type": "zip"
                },
                "type": "wordpress-plugin",
                "require": {
                    "composer/installers": "^1.5"
                }
            }
        }
    }
}

安装

1. 安装项目

Release Belt 是一个 project 类型的 Composer 包。建议使用 Git checkout 来更容易地跟踪更新。

提供了一个辅助 Composer 脚本,它尝试获取最新稳定版本并执行 Composer 安装。

安装

git clone https://github.com/Rarst/release-belt
cd release-belt
composer belt-update

更新

composer belt-update

2. 将发布 ZIP 文件放入 releases/ 目录

目录结构应该是:releases/[type]/[vendor name]/[release zip file]

一个 [type] 可以是

3. 配置 Web 服务器

应使用 public/ 目录作为 Web 根目录,并使用其中的 index.php 文件来处理请求。

请参考 Slim 文档中的 Web 服务器配置 以及您的 Web 主机资源中的具体设置。

在 Web 浏览器中访问主页和 /packages.json 以检查是否正常工作。

使用

一旦安装了 Release Belt,您可以将仓库添加到项目的 composer.json

Release Belt 主页将自动为您生成一些 composer.json 模板代码以供使用。

配置

您可以通过创建一个 config/config.php 文件来配置 Release Belt,该文件返回一个要覆盖的选项数组。

有关示例,请参阅 config/configExample.php

身份验证和权限

Release Belt 实现了 HTTP 身份验证,用于密码保护您的仓库并控制对特定包的访问。您可以通过 users 配置选项进行配置。

包含了一个 bin/encodePassword.php 命令行助手用于散列密码

>php bin/encodePassword.php foo
$2y$10$3i9/lVd8UOFIJ6PAMFt8gu3/r5g0qeCJvoSlLCsvMTythye19F77a

如果启用了身份验证,Release Belt 主页将自动为您生成 auth.json 模板代码以供使用。

常见问题解答 (F.A.Q.)

为什么不使用 Packagist/Satis?

Composer 基础设施很棒,但它期望与它友好的供应商。

Release Belt 是为不愿意合作的供应商提供的解决方案,并且从头开始构建一个专用解决方案更快、更容易。

为什么不使用工件?

Composer 工件需要在其中包含 composer.json。这是对于甚至没有那个文件的发布版。

但它是否是 Web 规模的?

不是。

许可

MIT