Relaunch von docs.nine.ch mit Docusaurus auf Deploio!

Relaunch von docs.nine.ch mit Docusaurus auf Deploio!

Unsere bisherige Support-Seite hatte im Laufe der Jahre ihren Glanz verloren. Ursprünglich als eine eigens entwickelte Ruby on Rails App konzipiert, bot sie zwar anfänglich eine effiziente Möglichkeit, Artikel direkt auf der Webseite mit Markdown zu erstellen und zu bearbeiten. Doch im Laufe der Zeit wurde die Verwaltung immer unübersichtlicher und es fehlte die Möglichkeit zur Versionskontrolle. So kam bei uns im Team der Wunsch auf, eine Support-Seite zu haben, welche die Bearbeitung von Markdown über Git ermöglicht.

Daher haben wir als Auszubildenden-Projekt begonnen, nach einer Alternative für unsere Support-Seite zu suchen und stiessen auf Docusaurus.

Docusaurus ist ein Open-Source-Static-Site-Generator, der ursprünglich von Facebook entwickelt wurde und eine einfache Möglichkeit bietet, ansprechende und gut strukturierte statische Webseiten zu erstellen. Durch die einfache Strukturierung der Webseite in einem GitLab Repository konnten wir verschiedene nützliche CI-Pipelines erstellen, die uns das Pflegen der Webseite erleichtern. So war es uns ebenso möglich, eine Vorschau der Support-Seite in GitLab Pages zu generieren, sodass unsere Mitarbeiter ihre Änderungen auf der Webseite zuerst überprüfen können, bevor sie tatsächlich veröffentlicht werden.

Bei der Umsetzung gab es natürlich auch Herausforderungen. Die grösste Schwierigkeit war die Migration der Artikel von der alten Support-Seite zur neuen, da die bisherige Support-Seite anders aufgebaut war. Um die Migration zu vereinfachen und Fehler zu vermeiden, haben wir ein Migrationsskript in Golang geschrieben, welches die alten Daten einliest und neue Markdown Dateien an der korrekten Stelle im Repository der neuen Support-Seite generiert. Dabei mussten wir ebenfalls sicherstellen, dass alte Links weiterhin funktionierten. Glücklicherweise bot Docusaurus hierfür ein Plugin, welches es erlaubt, Weiterleitungen ganz einfach im Repository zu verwalten. So konnten wir diese ebenfalls mit dem Migrationsskript migrieren.

Das Deployment des Projekts erfolgt über Deploio, dem aktuell neusten Produkt von Nine in Zusammenarbeit mit Renuo. Deploio benötigt als Input nur die URL und die Zugangsdaten zum GitLab Repository, der Rest erfolgt vollautomatisch und ohne Angabe komplexer Einstellungen und Parameter. Sobald eine Änderung in den Master-Branch des Repositories gemerged wird, wird die öffentliche Support-Seite auf den neusten Stand gebracht.

Deploio

Schliesslich können wir unseren Kunden nun stolz eine neue Support-Seite präsentieren und dieses erfolgreiche Auszubildenden-Projekt abschliessen. Ich möchte mich bei meinem Team für die grossartige Unterstützung bei diesem Projekt bedanken und hoffe, dass solche Projekte auch zukünftig den Auszubildenden ermöglicht werden.