Schlüsselpunkte
composer.json
-Fatei Ihres Projekts hinzufügen. Auf diese Weise können Sie alle privaten Komponistenpakete verwenden, die Sie mit Gemfury erstellen, ohne jedes Mal ein separates Repository hinzuzufügen, wenn Sie das Paket verwenden möchten. sudo gem install gemfury
installieren. Angenommen, Sie sind mit Composer vertraut. Dies ist der neueste und wahrscheinlich beste PHP -Paketmanager. Wenn nicht, schauen Sie sich die Einführung von Alexander an und ich bin sicher, dass Sie sich sofort davon angezogen fühlen. Sie müssen das Arbeitswissen haben, um das Beste aus diesem Artikel zu machen.
Composer arbeitet effizient und nahtlos mit Packagist, einem umfassenden öffentlichen Paket -Repository.
früher oder später werden Sie jedoch auf ein Paket stoßen, das Sie selbst geschrieben haben, das aus irgendeinem Grund nicht Open Source sein und über Packagist kostenlos geteilt werden kann.
Es gibt mehrere Optionen zum Hosting dieser privaten Pakete. Sie können die Datei composer.json
des Projekts konfigurieren, indem Sie das Repository des Pakets separat hinzufügen. Alternativ können Sie mit SATIS Ihr eigenes statisches Repository generieren. Alternativ können Sie mit dem Toran-Proxy eine selbst gehostete private Version von Packagist erstellen, die nach der Einrichtung einfacher zu verwalten ist als ein Repository in Ihrem composer.json
anzugeben.
Gemfury ist eine PaaS -Alternative. Abgesehen von der Ruhe (obwohl es bezahlt werden muss), dass gehostete Lösungen ein großer Vorteil sind, unterstützt es nicht nur das PHP -Komponist -Paket, sondern auch Ruby Gems, Node.js NPM, Python Pypi, APT, Yum und Nu -Erhalten. Dies ist sehr nützlich, wenn Sie mehrere Sprachen haben.
Lassen Sie uns darauf eingehen, wie man es benutzt.
Richten Sie Ihr Konto ein
Erstens benötigen Sie ein Konto. Es gibt eine 14-tägige Testzeit mit einem kostenlosen Konto, das auf einen Mitarbeiter und ein Hosting-Paket beschränkt ist, und eine Reihe weiterer Pläne ab 9 USD pro Monat.
Sie können sich über Ihre E -Mail -Adresse oder Ihr GitHub -Konto registrieren. Gehen Sie zur Website, um sich zu registrieren.
Erstellen Sie Ihr erstes Paket
Um zu demonstrieren, wie Sie Gemfury für ein privates Komponist -Paket verwenden, erstellen wir Schritt für Schritt ein Paket, das wir dem Service für später in anderen Projekten einreichen werden.
Der einfachste Weg, um ein neues Paket zu erstellen, besteht darin, den folgenden Befehl zu verwenden:
composer init
Es stellt Ihnen eine Reihe von Fragen;
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
Fügen wir als nächstes dem neu erstellten
eine Zeile hinzu und geben Sie ihm an, wo Sie den Quellcode des Pakets finden. composer.json
"autoload": { "psr-0": { "Acme\": "src/" } },
Erstellen Sie in Ihrem Arbeitsverzeichnis die Verzeichnisse
und src
und erstellen Sie dann die folgende Datei mit dem Namen src/Acme
: Coupon.php
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
, um unsere einzigen Abhängigkeiten zu laden und den Autoloader zu konfigurieren. composer install
Um fortzufahren, benötigen Sie Ihren API -Schlüssel. Wenn Sie zu Ihrem Dashboard gehen, finden Sie es unter Einstellungen.
Der einfachste Weg, ein Paket zu erstellen und hochzuladen, besteht darin, einfach Git zu verwenden und Gemfury den Rest zu erledigen.
Erstellen Sie zuerst eine
Datei mit dem folgenden Inhalt: .gitignore
<code>vendor/ composer.lock</code>
git init
git add src git add composer.json
<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>
your-username
Zu diesem Zeitpunkt haben Sie zwei Möglichkeiten. Die erste besteht darin, eine explizite Versionskontrolle zu verwenden, bei der Sie die Version in der Datei
git remote add fury https://your-username@git.fury.io/your-username/coupon.git
composer.json
{ "name": "your-username/coupon", "description": "Generates a coupon code", "version": "1.0.0", ...
Oder Sie können das Git -Tag verwenden. Erstellen Sie beispielsweise eine neue Version mit einem Tag, wie unten gezeigt:
Unabhängig davon, welche Methode Sie einnehmen, ist der nächste Schritt zu reichen:
git tag -a 1.0.0 -m "Version 1.0.0"
Führen Sie schließlich den folgenden Befehl aus:
git commit -a -m "Initial commit"
Dies drückt Ihren Code zu Gemfury, wodurch er automatisch in ein Paket aufgebaut wird.
git push fury master --tags
Verwenden Sie Private Package
Wenn Sie zum Dashboard zurückkehren und links "Repos" auswählen, finden Sie Ihre private Repository -URL. Dies sollte privat gehalten werden. Bitte halten Sie es sicher. Es wird so aussehen:
Es ist
, das es unvorhersehbar macht und daher tatsächlich privat ist.<code>https://php.fury.io/SECRET-CODE/your-username/</code>
Fügen Sie es jetzt zu Ihrem Projekt SECRET-CODE
:
composer init
Sie müssen nur dieses eine Repository hinzufügen, um alle privaten Komponistenpakete zu verwenden, die Sie mit Gemfury erstellt haben. Es ist nicht erforderlich, jedes Mal ein separates Repository hinzuzufügen, wenn Sie das Paket verwenden möchten.
Jetzt können Sie Ihr Privatpaket genauso benötigen, wie Sie es bei Packagist tun. Hier ist ein vollständiges Beispiel für ein Projekt composer.json
:
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
Andere Methoden
persönlich glaube ich, dass die Verwendung von Git und Tags der einfachste und effektivste Weg ist, Pakete zu verwalten.
Oder, wenn Sie es vorziehen, können Sie es selbst erstellen, indem Sie den Quellcode des Pakets abzüglich aufnehmen und auf dem Gemfury -Dashboard hochladen.
Befehlszeilenwerkzeug
Gemfury bietet auch ein Befehlszeilenwerkzeug. So installieren Sie es:
"autoload": { "psr-0": { "Acme\": "src/" } },
Um Ihr Paket aufzulisten, können Sie den folgenden Befehl verwenden:
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
Um die Version eines bestimmten Pakets anzuzeigen:
<code>vendor/ composer.lock</code>
Weitere Informationen zu CLI finden Sie in den entsprechenden Abschnitten der Dokumentation.
Zusammenfassung
In diesem Artikel stelle ich Gemfury vor, eine der vielen Optionen für die Verwaltung privater Repositorys. Als PaaS-Lösung erfordert es nicht die zusätzliche Belastung durch Selbsthostoptionen wie Toran und ist einfacher zu bedienen als STIS. Es hat auch den enormen Vorteil, Pakete in einer Vielzahl von Sprachen zu unterstützen, von PHP -Komponistenpaketen bis hin zu Ruby Edelsteinen und Node.js NPM. Natürlich muss es als PaaS -Lösung dafür bezahlen - aber warum nicht mit einer kostenlosen Testversion oder einem kostenlosen Einzelpaketplan versuchen, ob es für Sie richtig ist?
(Der ursprüngliche FAQS-Teil wird hier weggelassen, da dieser Teil eine häufig gestellte Frage ist und eine hohe Wiederholung des Hauptinhalts des Artikels hat und sein Wert nach Pseudooriginalität nicht hoch ist.)
Das obige ist der detaillierte Inhalt vonPrivate Komponistpakete mit Gemfury. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!