All Projects → Rarst → Release Belt

Rarst / Release Belt

Licence: mit
Composer repository implementation for ZIPs.

Projects that are alternatives of or similar to Release Belt

Composer Registry Manager
🛠 🔨 Composer registry manager that help to easily switch to the composer repository you want.
Stars: ✭ 448 (+236.84%)
Mutual labels:  composer, repository
devliver
Your private self hosted composer repository with user management
Stars: ✭ 50 (-62.41%)
Mutual labels:  composer, repository
Composer Custom Directory Installer
A composer plugin, to install differenty types of composer packages in custom directories outside the default composer default installation path which is in the vendor folder.
Stars: ✭ 117 (-12.03%)
Mutual labels:  composer
Security Advisories
A database of PHP security advisories
Stars: ✭ 1,740 (+1208.27%)
Mutual labels:  composer
Phpcompatibility
PHP Compatibility check for PHP_CodeSniffer
Stars: ✭ 1,705 (+1181.95%)
Mutual labels:  composer
Antergos Packages
PKGBUILD's for antergos packages
Stars: ✭ 119 (-10.53%)
Mutual labels:  repository
Kubeapp
Some commonly used kubernetes app 🎉🎉🎉~~~
Stars: ✭ 125 (-6.02%)
Mutual labels:  repository
Packeton
📦 Private, self-hosted Packagist/Composer/Satis repository with unlimited private repos.
Stars: ✭ 115 (-13.53%)
Mutual labels:  composer
Hyrax
Hyrax is a Ruby on Rails Engine built by the Samvera community. Hyrax provides a foundation for creating many different digital repository applications.
Stars: ✭ 131 (-1.5%)
Mutual labels:  repository
Smproxy
Swoole MySQL Proxy 一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。 A MySQL database connection pool based on MySQL protocol and Swoole.
Stars: ✭ 1,665 (+1151.88%)
Mutual labels:  composer
Drat
Drat R Archive Template
Stars: ✭ 127 (-4.51%)
Mutual labels:  repository
Pharbuilder
Create Phar of Composer based PHP application
Stars: ✭ 122 (-8.27%)
Mutual labels:  composer
Slick Repo
CRUD Repositories for Slick based persistence Scala projects.
Stars: ✭ 120 (-9.77%)
Mutual labels:  repository
Docker Octobercms
Dockerized October CMS: PHP, Composer, October core and dependencies
Stars: ✭ 125 (-6.02%)
Mutual labels:  composer
Xoopscore
Core Framework for next version of XOOPS CMS: 2.6.0
Stars: ✭ 118 (-11.28%)
Mutual labels:  composer
Laravel Hashids
A Hashids bridge for Laravel
Stars: ✭ 1,714 (+1188.72%)
Mutual labels:  composer
Setup Php
GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
Stars: ✭ 1,945 (+1362.41%)
Mutual labels:  composer
Rpg
Online Role Playing Game (based on Laravel)
Stars: ✭ 121 (-9.02%)
Mutual labels:  composer
Mwdb Core
Malware repository component for samples & static configuration with REST API interface.
Stars: ✭ 125 (-6.02%)
Mutual labels:  repository
Eloquent Tree
Eloquent Tree is a tree model for Laravel Eloquent ORM.
Stars: ✭ 131 (-1.5%)
Mutual labels:  composer

Release Belt — Composer repo for ZIPs

Scrutinizer Code Quality Build Status Code Coverage Latest Stable Version PHP from Packagist PDS Skeleton

Release Belt is a Composer repository, which serves to quickly integrate third–party non–Composer releases into Composer workflow. Once Release Belt is installed and you upload your zip files with their respective version number, Release Belt does the rest.

Given the following folder tree:

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

It will serve the following Composer repository at /packages.json automagically:

{
    "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"
                }
            }
        }
    }
}

Installation

1. Install the project

Release Belt is a project type Composer package. It is recommended to use Git checkout to keep up with updates more easily.

There is a helper Composer script provided that tries to fetch latest stable version and performs Composer install.

Install

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

Update

composer belt-update

2. Place release ZIPs into releases/ directory

The directory structure should be: releases/[type]/[vendor name]/[release zip file].

A [type] could be:

3. Configure a web server

The public/ directory should be used as web root and index.php in it as the file to handle requests.

Please refer to web server configuration in Slim documentation and/or your web hosting’s resources for setup specifics.

Visit home page and /packages.json in a web browser to check if it is working.

Use

Once Release Belt is installed you can add the repository to the composer.json of your projects.

Release Belt home page will automatically generate some composer.json boilerplate for you to use.

Configuration

You can configure Release Belt by creating a config/config.php file, which returns an array of options to override.

See config/configExample.php for the annotated example.

Authentication & permissions

Release Belt implements HTTP authentication to password protect your repository and control access to specific packages. You can configure it via users configuration option.

There is a bin/encodePassword.php command line helper included for hashing passwords:

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

If authentication is enabled, Release Belt home page will automatically generate auth.json boilerplate for you to use.

F.A.Q.

Why not Packagist/Satis?

Composer infrastructure is awesome, but it expects vendors that are willing to play nice with it.

Release Belt is a solution for unwilling vendors and it was faster and easier to build a dedicated solution from scratch.

Why not artifacts?

Composer artifacts require composer.json in them. This is for releases that don't even have that.

But is it web scale?

No.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].