Small script that loops through all branches and tags of all projects in a Gitlab installation
and if it contains a composer.json
, adds it to an index.
This is very similar to the behaviour of Packagist.org
See example.
- Run
composer.phar install
- Copy
confs/samples/gitlab.ini
intoconfs/gitlab.ini
, following instructions in comments - Ensure cache is writable
- Change the TTL as desired (default is 60 seconds)
- Ensure an alias exists for /packages.json => /packages.php (.htaccess is provided)
Simply include a composer.json in your project, all branches and tags respecting the formats for versions will be detected.
By default, the package name
must be equal to the path of the project. i.e.: my-group/my-project
.
This is not a design requirement, it is mostly to prevent common errors when you copy a composer.json
from another project without changing its name. To enable support for differences between package names and project
paths, set allow_package_name_mismatch
to true
in confs/gitlab.ini
.
Then, to use your repository, add this in the composer.json
of your project:
{
"repositories": [
{
"type": "composer",
"url": "http://gitlab-composer.stage.wemakecustom.com/"
}
]
}
While your projects will be protected through SSH, they will be publicly listed. If you require protection of the package list, I suggest this reading.