MeteorGPL in einem Bedrock-Projekt verwenden
Bedrock installiert WordPress, Plugins und Themes bereits mit Composer. Fügen Sie ein Repository hinzu, und Ihre Premium-Plugins und -Themes kommen dazu, versioniert und in der Lock-Datei fixiert.
Über diese Anleitung
- Schwierigkeit
- Einsteiger
- Zeitaufwand
- 10 Minuten
- Lesezeit
- 3 Min. Lesezeit
Voraussetzungen
- Ein Bedrock-Projekt (roots/bedrock) und Composer 2
- Ein MeteorGPL-Konto mit Repository-Zugang und ein Composer-Token
- Die Lizenzschlüssel Ihrer Premium-Plugins, von deren Anbietern
In dieser Anleitung
Bedrock verwaltet eine ganze WordPress-Website mit Composer: WordPress selbst ist eine Abhängigkeit, Plugins von WordPress.org kommen aus einem Composer-Spiegel des Plugin-Verzeichnisses, und composer/installers schickt jedes Paket nach web/app/plugins oder web/app/themes. Premium-Plugins sind die übliche Lücke: Sie werden ins Repository committet oder von Hand hochgeladen. MeteorGPL schließt diese Lücke mit einem weiteren Repository.
Schritt 1 — Ihr Token hinterlegen
Falls Sie es auf diesem Rechner noch nicht getan haben, erstellen Sie ein Token unter Einstellungen → Composer-Tokens und übergeben Sie es Composer:
composer config --global http-basic.composer.meteorgpl.ddev.site token <your-token>
Der Benutzername ist wörtlich das Wort token. Verwenden Sie für ein Teamprojekt ein Organisations-Token (es funktioniert weiter, wenn Personen ausscheiden); für Server und CI lesen Sie Composer-Tokens in CI.
Schritt 2 — Das Repository hinzufügen
Die composer.json von Bedrock hat bereits eine repositories-Liste. Fügen Sie MeteorGPL hinzu:
"repositories": [
{
"type": "composer",
"url": "https://composer.meteorgpl.ddev.site"
}
]
Behalten Sie die Einträge, die Bedrock mitbringt; der neue kommt daneben.
Schritt 3 — Die Installationspfade prüfen (nichts zu ändern)
Bedrock setzt composer/installers voraus und ordnet die WordPress-Pakettypen seinen eigenen Ordnern zu:
"extra": {
"installer-paths": {
"web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
"web/app/plugins/{$name}/": ["type:wordpress-plugin"],
"web/app/themes/{$name}/": ["type:wordpress-theme"]
},
"wordpress-install-dir": "web/wp"
}
MeteorGPL veröffentlicht Plugins als wordpress-plugin und Themes als wordpress-theme, sodass sie diesen Regeln ohne zusätzliche Konfiguration folgen.
Schritt 4 — Ihre Premium-Plugins und -Themes einbinden
composer require meteorgpl-plugin/elementor-pro:^3.21 meteorgpl-theme/rehub-theme:^19.0
Das Plugin landet in web/app/plugins/elementor-pro/, das Theme in web/app/themes/rehub-theme/. Paketnamen lauten immer meteorgpl-plugin/<slug> für Plugins und meteorgpl-theme/<slug> für Themes, wobei der Slug der Ordnername ist, den der Anbieter ausliefert; jede Paketseite zeigt den genauen Befehl.
Committen Sie composer.json und composer.lock, nicht den installierten Code. Die Lock-Datei hält jede Version und die Prüfsumme ihrer ZIP-Datei fest, sodass jede Umgebung dieselben Dateien installiert.
Schritt 5 — Aktivieren und Ihre Lizenzschlüssel hinzufügen
Aktivieren Sie das Plugin im WordPress-Admin oder mit WP-CLI:
wp plugin activate elementor-pro
Pakete werden nicht verändert: Die Lizenzprüfungen des Anbieters sind intakt, aktivieren Sie das Plugin also mit dem Schlüssel, den Sie beim Anbieter gekauft haben. Der Lizenzschlüssel-Tresor (Einstellungen → Lizenzschlüssel) bewahrt Ihre Schlüssel verschlüsselt auf und erinnert Sie, bevor sie ablaufen.
Schritt 6 — Deployen
Auf dem Server oder in der Pipeline, die das Release baut, braucht Composer das Token ebenfalls. Hinterlegen Sie es entweder einmal für den Deploy-Benutzer:
composer config --global http-basic.composer.meteorgpl.ddev.site token <deploy-token>
oder übergeben Sie es in der Umgebungsvariablen COMPOSER_AUTH, und installieren Sie dann genau das, was die Lock-Datei vorgibt:
composer install --no-dev --prefer-dist --no-interaction
Verwenden Sie für jeden Server und jede Pipeline ein eigenes Token, beschränkt auf die Pakete, die die Website braucht: Wird eines geleakt, widerrufen Sie genau dieses, und alles andere funktioniert weiter.
Aktualisieren
composer update meteorgpl-plugin/elementor-pro
bringt das Plugin auf die neueste Version, die Ihre Versionsbeschränkung erlaubt, und aktualisiert composer.lock. Testen, committen, deployen. Jede veröffentlichte Version bleibt verfügbar, daher ist ein Rollback ein composer require mit der vorherigen Versionsnummer. Um von neuen Versionen und Sicherheitshinweisen zu erfahren, lesen Sie Plugins aktuell halten und auf Schwachstellen achten.