Einrichten der kontinuierlichen Integration von CircleCI mit Laravel – Anschließend Bereitstellen von Forge oder Fortrabbit

Die Einbeziehung kontinuierlicher Integration ist großartig, aber es gibt viele Anbieter zur Auswahl. CircleCI hat einen ziemlich guten kostenlosen Plan, aber die Verwendung für Ihre Laravel-App könnte etwas verwirrend sein.

Anweisungen zum Bereitstellen von Laravel 5.5 mit Circle CI:

Diese Site hat ein schönes Boilerplate-Skript:

https://medium.com/@wesmahler/circleci-2-0-configuration-for-laravel-5-5-with-laravel-dusk-ab1cc9b9d4a7

Wenn Sie jedoch ein besseres Skript gefunden haben, lassen Sie es uns in den Kommentaren wissen.

Stellen Sie sicher, dass Sie die Testumgebungsvariablen in Ihrer Datei .env.testing und phpunit.xml angegeben haben, wenn Sie PHPUnit verwenden.

Sie erhalten einen Mysql-Root-Fehler?

Seit März 2021 erhalten wir manchmal diesen Fehler:

[FEHLER] [Einstiegspunkt]: MYSQL_USER="root", MYSQL_PASSWORD kann nicht für den Root-Benutzer verwendet werden. Verwenden Sie eine der folgenden Optionen, um das Root-Benutzerkennwort zu steuern: - MYSQL_ROOT_PASSWORD - MYSQL_ALLOW_EMPTY_PASSWORD - MYSQL_RANDOM_ROOT_PASSWORD

Wir haben das Problem gelöst, indem wir den MYSQL_USER in einen anderen Namen als „root“ geändert haben.

Bereitstellen auf Laravel Forge über CI

Rufen Sie anschließend in Ihrem letzten Schritt in config.yml dieses Skript forge-deploy.sh auf:

  - Ausführen: Name: Befehl „Bereitstellungsskript ausführen“: sudo chmod +x ./deploy.sh; sudo ./deploy.sh

Erstellen Sie dann ein deploy.sh-Skript in Ihrer App und fügen Sie die URL des Bereitstellungstriggers von Laravel Forge/Envoyer ein (zu finden im Dashboard Ihrer App in Laravel Forge/Envoyer):

#!/bin/bash # Bereitstellung auslösen # Ersetzen Sie die folgende URL durch Ihre Envoyer-/Forge-URL # ANWENDUNG1 curl -s „https://forge.laravel.com/servers/123456...“; # ANWENDUNG2 – wenn Sie mehrere Anwendungen haben, die bereitgestellt und ausgelöst werden müssen, curl -s „https://forge.laravel.com/servers/12345678...“; echo „Bereitstellung ausgelöst!“

Danach können Sie auf Github oder Bitbucket pushen und sehen, ob der Build erfolgreich ist und auf Laravel Forge/Envoyer bereitgestellt wird. Stellen Sie sicher, dass Sie die automatische Bereitstellung deaktivieren, da Sie nur nach einem erfolgreichen CI-Build auf Laravel Forge/Envoyer bereitstellen möchten.

Bereitstellung auf Fortrabbit mit CircleCI

Möchten Sie nach einem erfolgreichen CircleCI-Build lieber auf Fortrabbit statt auf Laravel Forge bereitstellen?

Lesen Sie mehr über die Verwendung von CI mit Fortrabbit Hier.

Gehen Sie folgendermaßen vor, um die Bereitstellung von CircleCI für Fortrabbit einzurichten:

  1. Führen Sie dieses Skript auf einem Terminalclient aus: ssh-keygen -m PEM -t rsa -C „[email protected]
  2. Kopieren Sie den privaten Schlüssel nach CircleCI
  3. Gehen Sie zum Projekt -> SSH-Schlüssel -> Zusätzliche SSH-Schlüssel. Geben Sie den Hostnamen ein: deploy.XYZ.frbit.com (ersetzen Sie XYX durch den Standort Ihres Fortrabbit-Servers).
  4. Fügen Sie den öffentlichen Schlüssel im öffentlichen SSH-Schlüsselmanager des Fortrabbit-Dashboards hinzu
  5. Fügen Sie den Fingerabdruck, den Sie im CircleCI-Dashboard sehen, zur Datei config.yml hinzu:
  6. HINWEIS: Das Hinzufügen eines SSH-Schlüssels zu einem Drittanbieterdienst birgt immer Risiken. Seien Sie sich dieser Risiken bewusst und führen Sie diese Schritte nicht aus, wenn es zu riskant ist.
Version: 2 Jobs: Bereitstellungsjob: Schritte: - add_ssh_keys: Fingerabdrücke: - „SO:ME:FIN:G:ER:PR:IN:T“

Versuchen Sie, die aktualisierten Dateien auf Github oder Bitbucket zu übertragen.

Überprüfen Sie, ob dieser Build erfolgreich ist. Wenn nicht, beheben Sie die Probleme, bis es funktioniert.

Fügen Sie nach den Testschritten diesen Code zum Skript circleci/config.yml hinzu:

      - Ausführen: Name: FRBIT-Remote-Befehl hinzufügen: git remote add frbit YOURFRBITGITURL - Ausführen: Name: FRBIT-Remote-Fingerabdruck zu bekannten Hosts hinzufügen Befehl: ssh-keyscan deploy.XYZ.frbit.com >> ~/.ssh/known_hosts - Ausführen: Name: Auf FRBIT bereitstellen Befehl: git push frbit

Vergessen Sie nicht, die Variablen YOURFRBITGITURL und XYZ zu ersetzen.

Die Verwendung dieser Skripte und Anweisungen erfolgt natürlich auf Ihr eigenes Risiko.

Haben Sie Vorschläge für einen besseren Workflow? Lassen Sie es uns wissen!

Einen Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEDeutsch
Nach oben blättern