Sie haben also eine Drupal-Website und fragen sich, ob Upsun für Sie geeignet ist. Die kurze Antwort lautet: Ja, natürlich! Aber lassen Sie uns ein wenig tiefer graben und sich damit vertraut machen, wie Sie das Hosting Ihrer Drupal-Anwendungen bei uns so reibungslos wie möglich gestalten können.
Ich werde in diesem Beitrag nicht im Detail darauf eingehen, wie Sie Ihre Anwendung für den Betrieb auf Upsun modifizieren (was wir "Upsunifizierung" Ihrer Anwendungen nennen), sondern nur einige Funktionen hervorheben, die meiner Meinung nach besonders wichtig sind, wenn es um Drupal geht. Aber wir haben einen sehr praktischen Leitfaden für die ersten Schritte und einen Leitfaden fürdas Onboarding von Upsunify, die Sie erkunden können - und Sie können jederzeit unsere kostenlose Testversion nutzen , um zu experimentieren.
Das erste, was Sie verstehen müssen, ist, dass Upsun sowohl Infrastructure-as-Code (IaC) als auch GitOps nutzt, um Anwendungen zu verwalten und bereitzustellen. Genauer gesagt, verwenden wir YAML-Dateien, um die Infrastrukturanforderungen Ihrer Anwendung zu definieren: Laufzeitversion, Speicher- und Storage-Anforderungen und zusätzliche Dienste wie Datenbanken.
Mit Git als einziger Quelle der Wahrheit ist jede Änderung an der Anwendung und der Infrastruktur nur einen Commit entfernt, und die Bereitstellung wird zu einer einfachen Angelegenheit des Zusammenführens mit dem Hauptzweig. Dieser Arbeitsablauf eignet sich hervorragend für die Nachverfolgung von Änderungen und erleichtert das Testen, aber auch das Rollback bei Bedarf - schließlich ist es nur eine Frage von Git Revert
.
Vielleicht denken Sie jetzt: "Oh, heißt das etwa, dass ich alles committen muss, sogar meine Lieferanten?" Lassen Sie mich Sie gleich beruhigen: Nein, wir sind keine Ungeheuer! Unsere Aufgabe ist es, Ihnen das Leben leicht zu machen, deshalb geht Upsun davon aus, dass Ihre Build-Variante Composer sein wird, also committen Sie einfach Ihre composer.json und composer.lock Dateien und lassen Sie uns den Rest erledigen.
Sobald Ihre Anwendung gebaut ist, wird das Dateisystem schreibgeschützt sein, um sicherzustellen, dass das Einzige, was Ihren Code verändert, Ihr nächster Commit ist. "Aber warte mal, wie soll ich mit vom Benutzer hochgeladenen Medien umgehen, wenn ich nicht in das Dateisystem schreiben kann?" Keine Sorge, mein Freund, wir haben alles im Griff. Definieren Sieeinfach Mounts für die Ordner, auf die Sie Schreibzugriff benötigen, und Sie sind startklar. Bei Drupal können Sie zum Beispiel mehrere Mounts für Medien, Cache, Logs und mehr definieren.
Werfen Sie einen Blick auf diesen Auszug aus der Datei .upsun/config.yaml
, um ein Beispiel für die von Drupal benötigten Mounts zu sehen:
applications: drupal-app: mounts: # Das Standardverzeichnis für Drupal-Dateien. '/web/sites/default/files': source: "storage" source_path: 'files' # Drupal bekommt ein eigenes, dediziertes tmp-Verzeichnis. '/tmp': source: tmp source_path: 'tmp' # Private Datei-Uploads werden außerhalb des Web-Root gespeichert.
'/private': source: "storage" source_path: 'private' # Drush braucht einen Scratch-Speicher für seine eigenen Caches. '/.drush': Quelle: "storage" source_path: 'drush' # Drush wird versuchen, Backups in diesem Verzeichnis zu speichern, daher muss es # beschreibbar sein, auch wenn Sie es fast nie benutzen werden. '/drush-backups': Quelle: "storage" source_path: 'drush-backups'
Jetzt machen Sie sich vielleicht Sorgen um Ihre Drupal-Konfigurationsdateien. Schließlich könnten Sie in der Produktion Änderungen vornehmen und diese übertragen wollen. Der Standardablauf ist hier ziemlich einfach:
1. Erstellen Sie eine neue Umgebung aus der Umgebung, die Sie geändert haben, zum Beispiel Ihre Produktionsumgebung. Mit unserer Upsun-CLI ist das ein Kinderspiel :
upsun environment:branch [new-branch-name]
Hinweis: upsun branch
ist ein Alias, den Sie für upsun environment:branch
verwenden können.
Upsun wird dann seine Magie einsetzen und Ihnen eine neue Vorschauumgebungzur Verfügung stellen , komplett mit einer Byte-für-Byte-Kopie der Daten des Elternteils. Das bedeutet, dass jeder Code, den Sie jetzt ändern, auf denselben Kontext wie der übergeordnete angewendet wird, so dass Sie, wenn Ihre CI/CD-Tests grün sind, deployen können.
2. Ziehen Sie Ihre neu erstellte Umgebung lokal und tun Sie, was Sie tun müssen
Um lokal zu arbeiten, empfehlen wir Ihnen die Verwendung von DDEV, da es die bevorzugte Option für Drupal ist und wir stolz darauf sind, den DDEV-Maintainer Randy Fay in unserem Team zu haben. Weitere Informationen dazu finden Sie in unseren Installationsanleitungen oder in den Installationsanleitungen von DDEV.
Lange Rede, kurzer Sinn: Sobald Sie DDEV installiert und konfiguriert haben, können Sie zum neuen Zweig wechseln und die Daten mit zwei Befehlen abrufen, wie unten gezeigt:
upsun checkout [neuer-zweig-name] ddev pull upsun
Und das war's! Sie haben nun eine identische lokale Umgebung und können alles, was Sie brauchen, mit ddev drush
erledigen (ja, Sie müssen wahrscheinlich sowieso mit ddev drush cr
beginnen). Zeit, zu exportieren, zu committen, zu pushen und einen Pull Request (PR) zu öffnen.
3. Für Ihren PR wird eine neue Vorschauumgebung erstellt, die es Ihnen ermöglicht, das Ergebnis zu überprüfen, bevor Sie es zusammenführen - oder sollte ich sagen, bereitstellen!
Alles in allem ist dies ein Standardablauf für unseren GitOps-Ansatz, da alles, was nicht versioniert ist, beim nächsten Deployment verloren wäre - vor allem, wenn Sie unsere Build- und Deploy-Hooksverwenden , um langweilige Aufgaben zu automatisieren, wie das Importieren von Konfigurationen oder das Leeren des Caches.
Werfen Sie einen Blick auf diesen Auszug aus der Datei .upsun/config.yaml
, insbesondere auf den Abschnitt deploy, der einige Kommentare und Aktionsbeispiele enthält, die Sie mit unserem Deploy-Hook durchführen können:
# Hooks erlauben es Ihnen, Ihren Code/Ihre Umgebung anzupassen, während das Projekt die Build- und Deploy-Phasen durchläuft # Weitere Informationen: https://docs.upsun.com/create-apps/app-reference.html#hooks hooks: deploy: | set -eux cd web bash $PLATFORM_APP_DIR/drush/platformsh_deploy_drupal.sh
Nachfolgend können Sie sich den Inhalt der Datei drush/platformsh_deploy_drupal.sh
ansehen, die im vorherigen Codeabschnitt aufgerufen wurde:
Ein kleiner Extra-Tipp für Sie: Sie können drush
auf Ihren Upsun-Umgebungen sehr einfach verwenden, wenn Sie es brauchen (drush uli
, jemand?), dank unseres CLI-Befehls upsun drush. Sehen Sie? Wir hatten schon immer Drupal-Sites im Sinn.
In meinem nächsten Beitrag gehen wir noch einen Schritt weiter und sehen uns an, wie man Drupal-Inhalte exportieren kann und, was noch wichtiger ist, wie man diese Exporte automatisieren kann. Schauen Sie sich unser Platform.sh Drupal 10 Templatean oder stöbern Sie im awesome-platformsh Repo nach Inspiration. Und schließlich, zögern Sie nicht, Fragen zu stellen oder Ihre Drupal-Tipps auf unserer Community-Seite zu teilen