Während ich Tests für meine App entwickelte, wollte ich eine Integration mit Laravel Forge in dieser Reihenfolge haben:
- Nach dem Commit zu Github pushen
- Tests durchgeführt von Travis CI
- Rufen Sie die Bereitstellungstrigger-URL von Laravel Forge / Envoyer auf, wenn der Test erfolgreich ausgeführt wird. Diese URL sieht folgendermaßen aus: https://forge.laravel.com/servers/111111/sites/2222222/deploy/http?token=TOKEN
Erstellen Sie dazu eine travis.yml-Datei wie:
Sprache: PHP PHP: – 7.1 Vorher-Skript: – cp .env.travis .env – MySQL –e „Datenbank db_testing erstellen“; – Selbstaktualisierung von Composer – Composer-Installation – keine Interaktion – PHP Artisan-Migrationsskript: – Vendor/Bin/PHPUnit Nachher-Erfolg: – chmod +x ./tests.sh; ./tests.sh
Vergessen Sie nicht, die Umgebung in phpunit.xml zu ändern, um beispielsweise zu einer benutzerdefinierten Datenbank zu wechseln:
Das after_success-Skript
Erstellen Sie eine Datei tests.sh und fügen Sie ein:
#!/bin/bash # Bereitstellung auslösen # Ersetzen Sie die folgende URL durch Ihre Forge/Laravel-URL curl -s 'https://forge.laravel.com/servers/111111/sites/2222222/deploy/http?token=TOKEN'; echo 'Bereitstellung ausgelöst!'
Andere Dienste als Travis verwenden oder einen benutzerdefinierten Testdienst erstellen
https://driesvints.com/blog/continuous-delivery-with-forge-and-envoyer/
Außerdem vielen Dank an: