How to distribute private packages from GitHub using Repman - PHP Repository Manager
1. Create an account on repman.io
https://app.repman.io/register
You can sign up with your GitHub, GitLab or Bitbucket account, or your email address:
2. Create your first organization
Your organization will act as a storage for private packages. After creating an organization, you will be able to share your packages with individuals using tokens – for example with your clients or company employees. An organization must have a unique name per Repman instance.
3. Add a new package to your organization
In this example, we'll use GitHub for authentication. Switch to the "Packages" tab and click "Add new package":
Choose "GitHub" repository type. You will be asked for additional permission to your GitHub account. Once accepted, Repman will scan the list of your repositories, allowing you to choose the ones you want to import:
Upon adding a new package, Repman will need some time to gather package metadata and synchronize all required data. You will see this status on the packages list:
When completed, your package will be ready to ship to the desired destination:
4. (Optional) Create and share new access token
Composer must have access to the Repman repository data. You can create an individual token (without limits) with a custom name, or use the default one generated during the organization setup.
5. Configure Composer
With the token in hand, you can authorize Composer with the following command (replace TOKEN_VALUE
with the actual token):
composer config --global --auth http-basic.acme.repo.repman.io token TOKEN_VALUE
The last step is adding the following lines to your composer.json
(modify accordingly if you have more configured repositories):
{"repositories": [{"type": "composer", "url": "https://acme.repo.repman.io"}]}
6. Install your private package
You can now demand your private package with the regular require
command, for example:
composer require acme/project