Connecting... Could not fetch https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119, enter your GitHub credentials to go over the API rate limit A token will be created and stored in "/home/vagrant/.composer/auth.json", your password will never be stored To revoke access to this token you can visit https://github.com/settings/applications Username: ... The CI server hits Github’s API rate limit and stays locked in the middle of the unit test suite execution. Happens on your own machine too: 9
Of course, right in the middle of the deploy process! Then, one day... Failed to download phpunit/php-file-iterator from dist: The "https://api.github.com/repos/sebastianbergmann/php-file- iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb" file could not be downloaded: failed to open stream: Connection refused Now trying to download from source 11
is a bit like an ultra-lightweight, static file-based version of packagist and can be used to host the metadata of your company's private packages, or your own. “ “ From composer official documentation: 13
alternative to Satis offering professional support as well as a web UI to manage everything and a better integration with Composer. It also provides proxying/mirroring for git repos and package zip files which makes installs faster and independent from third party systems. “ “ From composer official documentation: 15
to large team ~1200€/year for 15 developers Not so much enhancements in the past few months Developed and maintained by Jordi Though, helps to fund Composer & Packagist Simple & effective UX Private packages Proxify github & packagist 16
your public and private packages, where they are safe and within reach. Install them to any machine in minutes without worrying about running and securing your own repository server. “ “ From GemFury website: 17
you have numerous private projects ~1000€/year for 20 to 50 private packages Doesn’t proxify github / packagist Hosted Price doesn’t depend on the number of developers 18
"type": "project", "repositories": [ { "type": "composer", "url": "http://private.repositories.rvip" }, { "type": "composer", "url": "http://public.repositories.rvip" }, { "packagist": false } ], "require": { // ... } } Then you should completely disable packagist: 16:33:46:gouzigouza:~ $ composer install --prefer-dist Loading composer repositories with package information ... Note that this will only work with `prefer-dist` flag which is default option for stable packages: 21
Web tech blog Olivier Mansour published a year ago a great and still relevant blog post on that exact same subject: http://tech.m6web.fr/composer-installation-without-github.html GemFury Hosted service for private packages for rubygems, npm and composer https://gemfury.com/l/composer-repository Docker Satis Easily setup one or more satis with pre-configured cron & shared composer cache https://registry.hub.docker.com/u/ypereirareis/docker-satis 25