Migration und Update von Forgejo

Ich habe von einem Kollegen mitbekommen, dass sich in Hintergrund von Gitea einiges geändert hat. Lunny Xiao gründete das Profit-Unternehmen Gitea Limited, welches in der Communit auf einigen Wiederstand stieß und zu ein Soft-Fork Forgejo führte. Daher hab ich mich ebenfalls entschlossen zu Forgejo zu wechseln.

Hierbei wollte ich mein altes einfaches Update-Script verwenden. Leider gibt es bei Forgejo kein Download-Verzeichnis mit einer JSon-Datei die die aktuelle Version mitteilt. Daher dachte ich mir ich mache mich auf die Suche, ob schon jemande eine Lösung hat, um zu prüfen welche Version aktuell zum Download bereit steht. Hierbei bin ich auf das Forgejo-update-Script-Projekt gestoßen.

Das Script schaut sehr sauber aus und ich dachte mir, einen Test ist es Wert. Da ich aktuell noch Gitea am laufen hatte, wollte ich ebenfalls, wie im Repo beschrieben, die Namen von Gitea erstmal beibehalten. Daher einfach Script heruntergeladen, die Pfade angepasst und ausprobiert. Leider kamm nur die erste Ausgabe und dann brach das Script ab.

Scheinbar funktioniert die Ermittlung der aktuell installierten Version nicht vernünftig für Gitea. Deswegen ist es wichtig, beim ersetzen von Gitea die Zeile 33 auszukommentieren. Dann funktioniert das Script auch wunderbar. Nun kann die Zeile 33 wieder einkommentiert werden, und die nachfolgende Zeile mit der fixen Versionsnummer auskommentiert werden. Dann funktioniert das Skript nun auch zuverlässig und aktualisiert die Version nur noch, wenn eine neuere vorhanden ist.

31
32
33
34
35
36
...
# Get current version from binary in semver notation - replace '+' with '-' to get natation used in file names.
current_version=$(./${gitea_link_name} --version | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\+[0-9]+" | sed -nr 's/\+/-/p')
current_version="forgejo-1.20.4-000"
# Remember the old binary path to delete it later
...