Meine Anforderungen waren a) self-hosted b) kein Java c) kein Docker.
Irgendwie musst du ja reproduzierbare Builds ausspucken - und dafür brauchst du eine neutrale, nackte Umgebung: Docker
Ich bin wirklich kein Freund von Docker, aber für Buildserver ist es das perfekte Werkzeug - insbesondere wenn du einfach gegen unterschiedliche Libs linken möchtest. Damit funktioniert das definitiv auf dem Ziel-Betriebssystem, weil es auf gleicher Basis im Container hergestellt wurde.
Wie wäre es mit (einem selbst gehosteten) Gitlab?
Ich nutze gitea, bin damit sehr zufrieden.
Einige UI Features sind diskutabel (Read / Clone Access für alle authentifizierten Accounts auf ein Repo ist möglich, wenn das Repo auf 'Visible' gestellt wurde)
Ansonsten ein sehr schönes Werkzeug.