Webseite Veröffentlichen

Codeberg.org Repository erstellen

Bisher ist das git Repository für diesen Blog nur lokal am Laptop gespeichert und verfügbar. So wird es mit Veröffentlichen schwer, denn Hostingdienste wie netlify brauchen einen Zugriff auf ein öffentlich erreichbares git Repository. Es gibt mit github und gitlab große git "Suiten", die weit mehr als nur einen soliden git Service anbieten. Man kann da neben vielen anderen Dingen direkt Hugo Webseiten veröffentlichen. Warum nehme ich dann einen eher exotischeren Dienst mit Codeberg?
Hier kommt etwas Idealismus ins Spiel. Codeberg ist aus meiner Sicht ein git Repository Service und nicht viel mehr. Ich brauche auch nicht mehr. forgejo ist die Basis von Codeberg. Das lässt sich wunderbar selbst hosten. Somit nutze ich jetzt einen öffentlichen Dienst, den ich voraussichtlich selbst hosten werde und sammle somit Erfahrung. Bei der Nutzung von github und gitlab werde ich das Gefühl nicht los, von einem Service abhängig zu sein bzw. zu werden. Umso mehr Features ich hier nutze, desto höher werden die Wechselkosten.

Ein Repository ist im Web-UI schnell erstellt:
MatthiasJonen/meinblog Für alle Interessierten: schau vergleiche das Repository mit der Webseite. Insbesondere im Verzeichnis content lässt sich die Funktionsweise einer hugo Seite gut nachvollziehen.

Netlify Seite erstellen

Der nächste Schritt ist für mich, einen netlify Account anzulegen und Mithilfe des kostenlosen Services die in meinem Repository aktuell gehaltene Seite zu hosten. Hierfür gibt es recht prominent die Funktion "Import an existing project" und eine Beschreibung in der Dokumentation von Blowfish. Blöd ist nur, dass codeberg nicht als git Quelle angegeben ist... Ahhhhhhhhhhh!!!!

Es gibt auch Codeberg Pages

Und es gibt auch eine Dokumentation . Und hugo hat eine Dokumentation speziell für codeberg-pages. Ursprünglich hatte ich das Repository "meinblog" genannt und das bleibt so. Für das manuelle Deployment brauche ich zusätzlich ein Repository mit dem Namen "pages". Die folgenden Befehle sind Ursprünglich aus der hugo Dokumentation und ich habe sie leicht angepasst. Da ich schon in einem git Repository bin, kann ich innerhalb des Repository nicht noch ein Repository initialisieren. Die Dokumentation von hugo geht davon aus, dass man per push ein Repository bei codeberg anlegen kann. Dies scheint nicht mehr zu gehen. Daher habe ich ein minimales Repository pages per Web-UI angelegt und ein manuelles build Sript erstellt. Die Idee ist, per Flag "-destination" das Pages Repo zu aktualisieren und zu Codeberg pushen.

# build the website
hugo --destination ~/Projekte/pages

# access the output directory
cd ~/Projekte/pages

# commit and push code to main branch
git add .
git commit -m "Initial commit"
git push

Es hat funktioniert, mein Blog ist unter codeberg-pages erreichbar!

Matthias