Hier ist eine kleine direkte Produktwerbung für Sie: Ich benutze buchstäblich Buddy für die Bereitstellung auf allen meinen Projekten.
Buddy ist nicht *nur* ein Bereitstellungstool, dazu kommen wir noch, aber es ist etwas, das Buddy sehr gut macht und definitiv ein Grund, warum Sie es selbst ausprobieren sollten, wenn Sie nach einem zuverlässigen, hochwertigen Bereitstellungsdienst suchen.
Hier ist mein aktuelles Setup
- CSS-Tricks ist eine WordPress-Seite.
- Der gesamte Ordner
wp-contentist ein privates Repository auf GitHub. - Das Hosting erfolgt auf Flywheel, was mir SFTP-Zugriff auf den Server gibt.
- Wenn ich auf den Master-Branch pushe, stellt Buddy automatisch die geänderten Dateien per SFTP bereit. Das ist *schnell*, weil es nur die geänderten Dateien betrifft.
Das Setup auf Buddy dafür ist unglaublich nett und einfach und ich hatte noch nie Probleme damit. Möglicherweise möchten Sie sich auch Null-Ausfallzeit-Bereitstellungen ansehen, bei denen Dateien zuerst in ein separates Verzeichnis hochgeladen und mit den Zielverzeichnissen ausgetauscht werden, wenn der gesamte Upload erfolgreich war.
Und ich benutze dieses Setup nicht nur für CSS-Tricks, sondern für alle meine Websites, die diese Art von Bereitstellung benötigen.
Aber wie gesagt, Buddy ist nicht *nur* Bereitstellung. Bei Buddy dreht sich alles um *Pipelines*. Sie konfigurieren (visuell) eine Reihe von Aufgaben, die Buddy für Sie erledigen soll, und den Auslöser, der sie startet. Das Pushen auf Master ist nur ein möglicher Auslöser, Sie können sie auch manuell oder nach einem Zeitplan auslösen.
Welche Aufgaben? Nun, eine übliche Aufgabe wäre das **Ausführen Ihrer Tests**. Sie wissen schon: Continuous Integration (CI) und Continuous Deployment (CD). Sie können Buddy anweisen, beliebige Terminalbefehle auszuführen (sie starten einen Docker-Container für Sie), sodass jede Methode, mit der Sie Tests ausführen und Ausgaben erhalten, problemlos funktioniert.
Sie könnten es Ihnen eine E-Mail senden lassen, einen anderen Webdienst aufrufen oder einen Build-Prozess ausführen.
Hier sind die tatsächlichen Aufgaben, die ich derzeit in meiner Pipeline ausführe

- Die Dateien über SFTP hochladen
- Cloudflare anweisen, den gesamten Cache auf der Website zu löschen
- Eine Nachricht an einen bestimmten Kanal auf Slack senden (auch bei Fehlern)
So nützlich.
Es ist so einfach einzurichten, dass es fast dazu ermutigt, mehr mit seinen Pipelines zu machen. Ich muss einige Cypress-Tests einbauen und würde gerne eine Aktion integrieren, um alle Bilder in den Commits automatisch zu optimieren.
Schöner Artikel! Aber was ist mit der DB-Synchronisierung?
Hallo Venelin,
Das können Sie auch mit automatischen Skripten auf Ihren Remotes automatisieren: https://buddy.works/docs/pipelines/db-migrations-and-custom-scripts
Prost!