PHP composer/satis application extended with the hability to automate SATIS configuration according to GITLAB projects containing a composer.json file.
It also provides a way to mirror PHP dependencies to allow offline builds.
git clone https://github.com/mborne/satis-gitlab
cd satis-gitlab
composer install# add --archive if you want to mirror tar archives
bin/satis-gitlab gitlab-to-config \
--homepage https://satis.example.org \
--output satis.json \
https://gitlab.example.org [GitlabToken]bin/satis-gitlab build satis.json webUse you're favorite tool to expose web directory as https://satis.example.org.
satis.json should not be exposed, it contains the GitlabToken by default (see --no-token)
SATIS web page suggests to add the following configuration to composer.json in all your projects :
{
"repositories": [{
"type": "composer",
"url": "https://satis.example.org"
}]
}Alternatively, composer can be configured globally to use SATIS :
composer config --global repo.satis.example.org composer https://satis.example.org(it makes a weaker link between your projects and your SATIS instance(s))
Note that --archive option allows to download tar archives for each tag and each branch in web/dist for :
- The gitlab projects
- The dependencies of the gitlab projects
Note that GitlabToken is optional so that you can generate a SATIS instance only for you're public repositories.
Note that gitlab-to-config saves the GitlabToken to satis.json configuration file (so far you expose only the web directory, it is not a problem).
You may disable this option using --no-token option and use the following composer command to configure $COMPOSER_HOME/auth.json file :
composer config -g gitlab-token.satis.example.org GitlabToken
Some command line options provide a basic customization options. You may also use --template my-satis-template.json to replace the default template :
- GITLAB API v4
satis-gitlab is licensed under the MIT License - see the LICENSE file for details