2016-07-22 14 views
0

Ich habe eine Gitlab-Installation für meine Organisation. Um die Frameworks und den Entwicklungsprozess zu standardisieren, möchten wir unsere eigene Packagist-Installation auf unserem Server nutzen. Das Ding, das mich verwirrt, ist, wenn ich ein Paket einreichen muss, das auf einem repot von gitlab ist, erfordert es Authentifizierung. Ich weiß, während ein Paket in composer.json Ich kann Repo, Benutzername und Passwort, so dass es Paket von dort lesen kann. oder während ich ein Projekt erschaffe:Host private PHP-Pakete auf Packagist mit Gitlab

composer create-project vendor/name path --repository-url=http://user:[email protected]/myrepo/package.git

Wenn das wahr ist, haben wir wirklich brauchen packagist? Wenn ja, was wäre der beste Weg, dies einzurichten. Ich würde mich freuen, wenn Sie mir auch sagen, wie die Paketeinreichung auf packagist (unser eigenes gehostet) funktionieren wird.

+0

Sie möchten einen lokalen Metadatenspeicher aller Composer-Informationen über Ihre privaten Pakete haben. Andernfalls müssten Sie alle Repositories, die möglicherweise ein Paket enthalten, in alle 'composer.json'-Dateien Ihrer Root-Anwendungen einschließen, sogar für transitive Paketbeziehungen. Eine weitere Sache, die Sie in Betracht ziehen könnten: Anbieten von ZIP-Dateien für getaggte Versionen, anstatt dass alle Benutzer und Ihr Bereitstellungssystem alles klonen müssen. Sie können Packagist in einer lokalen Installation verwenden, wenn Sie wirklich seine Funktionen benötigen, aber ich bin immer noch glücklich mit Satishosting 120 internen Paketen und mehr als 300 externen. – Sven

+0

@Sven Also verwenden Sie 'satis' anstelle von Packagist, um private Pakete zu verwalten? Was sind die Vorteile dieses Ansatzes? Es ist nicht so, dass ich nur Packagist verwenden möchte. Ich fühle es genauso, nur Software ist anders. – SAM

+0

Satis im Wesentlichen ist "Ausführen eines Skripts, produzieren einige statische Ausgabe und dann hosten Sie dies auf dem einfachsten Web-Server, den Sie sich vorstellen können". Verglichen mit Packagisten, die irgendeine Art von Datenbank benutzen und mindestens PHP auf dem Server benötigen. Es gibt einige Nachteile wie "Satis kann nur alles auf einmal aktualisieren", was ungefähr 5 bis 8 Minuten dauert. Packagist wäre in der Lage, ein Paket auszulösen und dieses nur zu aktualisieren. Sie sollten auch https://toranproxy.com als dritte Alternative betrachten. – Sven

Antwort

0

Es gibt ein neues Produkt für Unternehmen, um genau diesen Prozess zu vereinfachen: Private Packagist. Sie können Anmeldeinformationen für Ihre GitLab-Repositorys konfigurieren und dann Pakete in Ihren privaten Repositorys für die Verwendung mit Composer verfügbar machen. Sie können festlegen, wer Zugriff auf welche Pakete erhält und die Authentifizierung mit einem einzigen Token für Composer pro Benutzer erfolgt. Die Private VCS Package Seite erklärt, wie das funktioniert.