Neuer Konkurrent für Gitlab, Github und Gitea(?)

vorhergehende Artikel in: Java OpenSource Virtualisierung
19.07.2022

In meiner sozialen Blase erfuhr ich neulich von einem weiteren Konkurrenten für Lösungen wie Gitlab, Github oder Gitea: OneDev kannte ich bisher noch nicht - aber dem Versprechen Selfhosting gehe ich zur Erweiterung meines Docker-Zoos immer gerne nach...

Zunächst einmal sei gesagt, dass OneDev wenn man seine aktuelle Versionsnummer 6.x betrachtet vielleicht nur mir neu war aber schon längere Zeit Entwicklung auf dem Buckel hat. Aber in einer Zeit, in der gerne nur noch die Major-Nummer hochgezählt wird kann man daraus auch keine gesicherten Informationen mehr ableiten.

Zunächst wollte ich herausfinden, ob man das System tatsächlich für eionige Tests schnell und unkompliziert ans Laufen bekommen könnte - dazu benutzte ich die in der Dokumentation vorgeschlagene Kommandozeile, wandelte die Volume-Zuweisung noch etwas ab und siehe da - das System, war über das Webfrontend erreichbar und bereit, erste Projekte zu erzeugen:

docker run -t --name onedev --rm -v /var/run/docker.sock:/var/run/docker.sock -v data_dir:/opt/onedev -p 6610:6610 -p 6611:6611 1dev/server

Beim Erzeugen von Projekten wird eine Vielzahl von Import-Möglichkeiten bestehender Systeme angeboten - zu den Platzhirschen Gitlab, Github und Gitea (Codeberg) kommen weitere hinzu. Ich entschied mich für einen ersten Test dennoch zunächst für ein anderes Herangehen: Ich erstellte ein Projekt und importierte es dann direkt. Auch das funktionierte ohne Probleme.

Besser als bei Github und Gitlab in der freien Edition ist, dass es hier sofort möglich ist, mehrere Kanboards anzulegen. Ebenfalls Teil der Standardfunktionalität ist die - von mir - bei Gitlab und Github schmerzlich vermisste Möglichkeit, Eltern-Kind-Beziehungen zwischen Tickets abzubilden (wird das letzte Kind geschlossen, wird auch das Elternticket automatisch geschlossen). Darüber hinaus - und ebenfalls nur hier zu haben - gibt es noch die Möglichkeit, Blockierungen zwischen Tickets einzurichten: Ein Ticket kann in diesem Fall nur dann geschlossen werden, wenn alle Tickets, die es blockieren bereits geschlossen sind.

Es ist ebenfalls möglich, neue Felder zu einem Issue hinzuzudefinieren - das kann benutzt werden, um Tags zu definieren. Die Verwaltung von Tags ist damit ein wenig umständlicher als bei den genannten Konkurrenten, aber nicht unmöglich. Ebenso wie die Konkurrenten bietet OneDev leider keine hierarchischen Tags an - es sei denn, man definiert verschiedene Felder als Tag-Felder und interpretiert das dann als hierarchische Organisation von Tags.

Die API ist - wie nicht anders zu erwarten - state-of-the-art und extrem umfangreich - das geht bis zu dem Punkt, dass man über die API neue Felder für Issues definieren oder solche Definitionen modifizieren kann.

Leider musste ich feststellen, dass dieses System noch keinerlei Geegenmaßnahmen gegen die Trojan Source Angriffe aus dem letzten Jahr ergriffen hatte - weder in den Quelltexten noch den Markdown-Kommentaren oder Ticketbeschreibungen - ich werde dazu demnächst ein Ticket einstellen.

Aktualisierung vom 19. Juli 2022

Einen - für mich - wichtigen Nachtrag gilt es noch zu ergänzen: in meinem speziellen Fall ist die Leidenschaft für OneDev leider inzwischen erkaltet: Ich bin schon seit Zeiten von Trac ein großer Fan von Referenzen in commit-Messages auf Issues. Damit ist es nämlich unmöglich geworden, sich bei nicht existierenden Commit-messages auf "keine Zeit" herauszureden: Die Zeit, in eine commit-Message "re #53" reinzuschreiben hat wohl jeder. Auf diese Weise ist es auch schön einfach, alle Commits zu finden, dei zu einem bestimmten Isseu gehören. Leider musste ich aber feststellen, dass ich dieses Feature mit einem Import meiner Gitlab- und Github-Projekte verlieren würde: zwar werden alle Issues und alle Commit-Messages transferiert, aber die Verbindung, der automatische Link zwischen Commits und den Issues funktioniert nicht mehr, da OneDev eine leicht abweichende Syntax hat: Das System erkennt nicht wie Gitlb und Github "#xyz" als Issue-Link sondern leider nur "issue #xyz" - das Wort "Issue" muss davorstehen. Ich könnte mich jetzt hinsetzen und ein Migrationsskript schreiben aber dafür - das muss ich gestehen - habe ich einfach nicht genug Schmerz mit meinem self-hosted Gitlab...

Artikel, die hierher verlinken

OpenProject als Docker-Container

19.09.2022

Und wieder ist ein neuer Container in meinen Docker-Zoo aufgenomen worden.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Hardware für Netzwerk Degrader

    12.01.2021

    Vor ungefähr einem Jahr berichtete ich über den letzten Stand meines Projektes "Schlechtes Netz" - eines smarten Netzwerkkabels mit konfigurierbarer Übertragungsqualität.

    Weiterlesen

Neueste Artikel

  • Asymmetrische Kryptographie

    Ich habe mich mit der Idee schon länger getragen: Nochmal einen Rundumschlag zu asymmetrischer Kryptographie zu machen. Dabei werde ich mich auf Demonstrationen der einzelnen Konzepte und Operationen mit Beispielcode konzentrieren und zu jedem der vorgestellten Konzepte mehr oder weniger ausführlich bezüglich der Einsatzszenarien und Vor- und Nachteile Stellung beziehen

    Weiterlesen
  • LinkCollections 2025 XII

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2025 folgt hier gleich die nächste:

    Weiterlesen
  • Shamir Secret Sharing

    Wie bereits angekündigt werde ich in den nächsten Wochen einige Aspekte asymmetrischer Kryptographie beschreiben. Der vorliegende Artikel erläutert ein Konzept, das auch viele Anwendungsmöglichkeiten abseits asymmetrischer Kryptographie hat, allerdings auch zum Beispiel auf private Schlüssel angewendet werden kann... und demonstriert die Implementierung in Java.

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.