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

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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Mandelbrot-Sets mittels Shadern berechnen

    17.05.2019

    Nachdem ich in den letzten verregneten Tagen auf Youtube in den Videos von Numberphile versunken bin, hat mich eines davon angestachelt, mich selbst mit dem Mandelbrotset zu beschäftigen. Als ich dann noch Code fand, der behauptete, das auf einer Graphikkarte mittels Shadern berechnen zu können, war es um mich geschehen...

    Weiterlesen...

Neueste Artikel

  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    Weiterlesen...
  • bad-certificates Version 2.1.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern hat eine Erweiterung erfahren und verfügt über ein Partnerprojekt - beide sind nunmehr in der Version 2.1.0 freigegeben

    Weiterlesen...
  • SQLite als Geodatenbank

    Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.