Automatische Drupal-Instanzen pro Git-Branch unter eurer Kontrolle, auf eurem eigenen Server. https://gitlab.com/morenstrat/drupal-runner
Bei der Arbeit im (Remote-) Team und/oder für euren Sprint Review ist es essentiell, dass eure Kolleg*innen, Product Owner oder Stakeholder auf einfache Art und Weise eure Software ausprobieren können, das heißt, nicht nur sehen, sondern auch benutzen können, was ihr umgesetzt habt. Vorzugsweise sollte dies für jeden Branch in eurem Repository möglich sein.
GitLabs CI/CD ist mit einem eingebauten Feature ausgestattet, das genau das möglich macht: Review Apps!
Im Prinzip sind Review Apps dynamische Umgebungen, die erstellt werden, wenn ein neuer Branch in GitLab erstellt wird und gelöscht werden, wenn der Branch wieder in GitLab gelöscht wird.
In dieser Session werde ich euch zeigen, wie wir bei Reinblau Review Apps in unseren Drupal Projekten nutzen. Unser grundsätzlicher Aufbau/Workflow sieht üblicherweise folgendermaßen aus:
-
Es gibt eine Drupal-Instanz, die mit dem Development-Branch und einer dazugehörigen statischen Umgebung namens ‚develop‘ verbunden ist.
-
Wenn ein neuer Feature-Branch vom Development-Branch erstellt und gepusht wird, erstellt GitLab automatisch eine neue Drupal-Instanz in einer dynamischen Umgebung, und zwar auf Basis der Datenbank und der Public/Private Files aus der statischen develop-Umgebung.
-
Folgende Commits im Feature-Branch werden automatisch zur dazugehörigen dynamischen Umgebung deployed. Datenbank und Public/Private Files der develop-Umgebung werden nicht redeployed.
-
Wenn ein Redeployment der Datenbank und der Public/Private Files gewünscht ist, kann die dynamische Umgebung manuell über das GitLab Web UI gestoppt werden. Beim nächsten Commit wird die dynamische Umgebung automatisch mit einer aktuellen Kopie von Datenbank und Public/Private Files der develop-Umgebung neu erstellt.
-
Wenn der Feature-Branch in den Development-Branch gemerged und in GitLab gelöscht wird, löscht GitLab ebenfalls die dazugehörige dynamische Umgebung und aktualisiert die statische develop-Umgebung mit den neuen Commits vom Feature-Branch.
Die Session wird einen Überblick über die involvierten Komponenten geben, Konfigurationsauszüge dieser Komponenten zeigen und erklären und auch – Daumen drücken – eine Live-Demonstration enthalten.