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

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

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

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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.