-
October CMS Installationen mit einem Befehl einrichtenoc-bootstrapper bietet die Möglichkeit, eine komplette October CMS Installation mit einem Befehl einzurichten.
-
Zentrale Konfigurationsdatei für Einstellungen und PluginsDie Installation wird in einer YAML-Datei beschrieben. Der oc-bootstrapper richtet die Installation gemäss dieser Konfiguration ein.
-
Verwaltung von Dateivorlagen für einfachere KollaborationBestimmte Projektdateien können zentral abgelegt werden und zu Projektbeginn in ein neues Projekt importiert werden.
-
Minimierung des Fehlerpotentials durch automatisierte ProzesseFunktionen für das automatisierte Veröffentlichen von Projekten verringern das Fehlerpotential enorm.
-
Kosteneffiziente Erweiterungen auch nach dem ProjektlaunchDank der automatisierten Veröffentlichung können Änderungen auch nach Monaten ohne grosse Hürden vorgenommen werden.
-
Grosse Zeit- und Geld-Ersparnis für uns und unsere KundenDurch den komplett automatisierten Ablauf sparen wir als Agentur Zeit und unsere Kunden Geld.
Das Wichtigste in Kürze
Inhalt
oc-bootstrapper
Das automatische Veröffentlichen von Projekten ist dank Tools wie GitLab CI, Travis oder GitHub Actions in den letzten Jahren für jedermann sehr einfach zugänglich geworden. Dennoch braucht es eine gute Planung und die richtigen Abläufe um fehlerfreie Deployments zu ermöglichen.
Um den kompletten Entwicklungsprozess unserer October CMS Projekte von der Erstellung bis zum Deployment zu vereinfachen, haben wir im Jahr 2016 das oc-bootstrapper
Projekt ins Leben gerufen. Wichtigster Bestandteil des oc-bootstrapper
ist der eingebaute Support für automatische Deployments.
Vorteile für unsere Kunden
Spätestens, wenn Du nach einigen Wochen und den ersten Erfahrungen mit Deiner Website die ersten Anpassungen vornehmen möchtest, zeigt sich warum: Wir als Webagentur sparen Zeit und Du als Kunde somit Geld, wenn wir Anpassungen und Erweiterungen möglichst einfach und effizient veröffentlichen können.
Ausserdem minimieren wir durch das hohe Mass an Automatisationen das Fehlerpotenzial und garantieren Deiner Website einen nahezu unterbruchsfreien Betrieb während eines Updates. Ebenfalls lassen sich alte Projektstände dank der integrierten Versionierung per Knopfdruck wiederherstellen.
Funktionsweise des oc-bootstrapper
Die folgenden Abschnitte zeigen Dir als Programmierer die technischen Details des oc-bootstrapper.
Installation
oc-bootstrapper
reduziert die Installation von October CMS mit allen Plugins und Konfigurationseinstellungen auf den einfachen october install
Befehl. Während Deployments kann dieser Befehl genutzt werden, um ein Projekt auf einem Produktiv-System einzurichten oder zu aktualisieren.
Der Befehl ist idempotent, es wird also bei mehrfacher Ausführung immer nur installiert und eingerichtet, was noch fehlt.
oc-bootstrapper
kann einfach als globale oder lokale Abhängigkeit via composer
installiert werden.
composer global require offline/oc-bootstrapper
Anschliessend steht der Befehl october
(globale Installation) oder ./vendor/bin/october
(lokale Installation) zur Verfügung.
Konfiguration
Mit dem Befehl october init projektname.ch
wird ein neues Projekt mit einer Beispiel-Konfiguration erstellt. Alle Einstellungsmöglichkeiten befinden sich in der Datei october.yaml
.
Zuallererst müssen die Wertecms.theme
, database
und plugins
angepasst werden:
cms:
theme: beispiel-theme (git@github.com:rainlab/bonjour-theme.git)
database:
username: root
password: hunter2
database: bootstrapper
host: localhost
plugins:
- RainLab.Pages
- OFFLINE.Sentry
- OFFLINE.Clockwork
- OFFLINE.PrivatePlugin (git@github.com:offline-gmbh/private-plugin.git#develop)
Installation von privaten Plugins und Themes
Ein wichtiges Feature des oc-bootstrapper
ist die einfache Installation von privaten Plugins und Themes. Wird hinter einem Theme- oder Plugin-Namen eine Git-Adresse in Klammern ergänzt, werden diese Inhalte einfach während der Installation heruntergeladen und installiert.
Lokale Installation
Nachdem die Konfigurationsdatei angepasst wurde, reicht der Befehl october install
aus, um die komplette October CMS Installation gemäss Konfiguration auszuführen.
$ october install
Downloading latest October CMS...
Installing composer dependencies...
Setting up config files...
Migrating database...
Installing Theme...
Installing Plugins...
- RainLab.Pages
- OFFLINE.Sentry
- OFFLINE.Clockwork
- OFFLINE.PrivatePlugin
Migrating plugin tables...
Setting up deployments...
Creating .gitignore...
Removing demo data...
Creating README...
Cleaning up...
Clearing cache...
Application ready! Build something amazing.
Arbeiten im Team
Die Standard-Konfiguration von oc-bootstrapper
stellt sicher, dass nur die themes
und plugins
Verzeichnisse in Git beachtet werden. Dies hält die Repos schlank und löst die Abhängigkeit von der installierten October CMS Version.
Team-Mitglieder können ein Projekt-Repo auschecken und mit einem erneuten Ausführen von october install
die komplette Installation wiederherstellen.
Dateivorlagen
oc-bootstrapper
bietet die Möglichkeit, eigene .gitignore
, october.yaml
oder gitlab-ci.yml
Dateivorlagen bereitzustellen. Werden Dateien im Verzeichnis ~/.config/composer/october
abgelegt, werden diese anstelle der Standard-Dateien während der Installation verwendet.
Um die Synchronisation der Dateivorlagen im Team zu vereinfachen, kann ein Git-Repo in ~/.config/composer/october
erstellt werden. oc-bootstrapper
wird automatisch ein git pull
vor jeder Installation ausführen, um die neusten Versionen der Dateien herunterzuladen. Die Dateien können so zentral via Git für das ganze Team verwaltet werden.
Neue Plugins installieren
Ein wichtiger Grundsatz beim Arbeiten mit oc-bootstrapper
ist, dass Plugins nur via october.yaml
installiert werden dürfen. Dazu reicht das Ergänzen des neuen Plugins in der plugins
Sektion und das erneute Ausführen von october install
aus.
Deployments via GitLab CI
Deployments auf Produktiv-Server funktionieren nach dem gleichen Prinzip wie das Arbeiten im Team:
- Das Repo wird auf dem Produktiv-Server ausgecheckt
october install
wird ausgeführt um alle neuen Abhängigkeiten zu installieren und die Datenbank zu migrieren
oc-bootstrapper
bringt integrierten Support für Deployments via GitLab CI mit Laravel Envoy. Bei jedem Aufruf von october install
wird eine gitlab-ci.yml
und Envoy.blade.php
generiert.
In der gitlab-ci.yml
wird ein ssh-agent
gestartet, um die Verbindung zum Zielsystem herstellen zu können. Anschliessend wird envoy run
ausgeführt.
Envoy stellt sicher, dass auf dem Zielsystem composer
und oc-bootstrapper
installiert sind. Anschliessend wird october install
ausgeführt, um die Installation durchzuführen.
Die mit ausgelieferten Dateien können jederzeit auf die eigenen Bedürfnisse angepasst werden.
Komplette Dokumentation zu allen Funktionen
Die komplette Dokumentation zu oc-bootstrapper
befindet sich auf GitHub:
https://github.com/OFFLINE-GmbH/oc-bootstrapper
Im README
wird noch detaillierter auf die ssh-Konfiguration in GitLab und die Verwaltung von Dateivorlagen eingegangen.
Infos, Tutorials und News zu unserem lieblings CMS.