Erfahrungen mit GitLab (oder anderen Alternativen)?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von paedubucher » 01.05.2021 12:10:25

In der Firma verwenden wir GitHub (für OpenSource-Projekte) und BitBucket (für interne Projekte). Wir haben BitBucket selber gehostet; und dieses Hosting-Modell wird ja leider bald nicht mehr unterstützt. Von daher benötigen wir eine Alternative.

Eine Variante wäre es, alles auf GitHub zu verschieben. Das Lock-In-Problem mitigieren wir jetzt schon mit Backups. (Privat habe ich mir auch mal eine Lösung zusammengeskriptet).

Zu BitBucket gibt es aber auch verschiedene Alternativen. Die populärste und mächtigste dürfte wohl DebianGitLab sein. (Meine Erfahrungen damit sind grösstenteils aus der Benutzerperspektive; neben der Jira-Integration hat BitBucket meiner Meinung nach nicht mehr zu bieten als GitLab, eher weniger.)

Ein minimalistisches Deployment via SSH und sowas vie Debiancgit hatten wir schon einmal im Einsatz, sind aber davon weggekommen.(Mangelnde CI-Integration, keine Konfigurationsmöglichkeiten für nicht-Programmierer usw.)

Von daher ist wohl eher so etwas Mächtiges wie GitLab angezeigt. Es sei denn, es gibt ähnlich mächtige Alternativen dazu, für die man keien Lizenzkosten bezahlen muss.

Nun meine Frage: Hat schon jemand Erfahrungen damit in einem professionellen Umfeld (10+ tägliche Nutzer, 100+ Repositories) gesammelt? Welche Deployment-Variante (Packages von der Distribution, Packages von GitLab, Contaner) hat sich dabei als stabil und wenig wartungsaufwändig erwiesen? Wo liegen besondere Schwierigkeiten und Fallstricke?

Oder hat gar schon jemand von GitLab zu was anderem wegmigriert? Was wären dann die Gründe dafür gewesen?
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Gharika
Beiträge: 209
Registriert: 28.09.2004 16:51:51
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von Gharika » 01.05.2021 15:25:50

GitLab ist ganz gut, aber auch ein ziemlich "fettes" Teil. Man braucht einen guten Server dafür. Die CI-Integration ist glaube ich nicht im kostenlosen Teil enthalten.

Nach etwas rumtesten benutzen wir Gitea + Jenkins. Funktioniert sehr gut bis jetzt.

Zu den Erfahrungen mit GitLab. Wir hatten es über die Repos (Linux Mint) installiert, der Update war immer ziemlich lange. Der Speicherverbrauch (für unseren Geschmack) auch viel zu hoch, min 4GB RAM und 4 Cores werden gebraucht. Die haben versucht es auf 2GB zu drücken, aber scheinbar nicht hinbekommen. Gitea braucht dagegen nur paar 100MB RAM, Jenkins braucht auch nicht viel. Jeweils 1 Core reicht bei denen völlig aus. Man sollte für Jenkins aber mehr Cores für die Builds natürlich zur Verfügung stellen, aber es läuft problemlos mit 1-2 Cores, dann dauert der Build entsprechend länger. Wenn man auch auf dem Jenkins-Master bauen will, ansonsten Master klein halten und entspechend "mächtige" Jenkins-Agents dazupacken.
Beleidigungen sind die Argumente derer, die unrecht haben.

-- Jean Jacques Rousseau

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von heisenberg » 01.05.2021 15:54:58

Gharika hat geschrieben: ↑ zum Beitrag ↑
01.05.2021 15:25:50
Die CI-Integration ist glaube ich nicht im kostenlosen Teil enthalten.
CI/CD ist auch in der Community Edition(MIT Expat License) Variante enthalten. Siehe hier: https://about.gitlab.com/features/. Wir verwenden das auch.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
Gharika
Beiträge: 209
Registriert: 28.09.2004 16:51:51
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von Gharika » 01.05.2021 16:54:47

heisenberg hat geschrieben: ↑ zum Beitrag ↑
01.05.2021 15:54:58
Gharika hat geschrieben: ↑ zum Beitrag ↑
01.05.2021 15:25:50
Die CI-Integration ist glaube ich nicht im kostenlosen Teil enthalten.
CI/CD ist auch in der Community Edition(MIT Expat License) Variante enthalten. Siehe hier: https://about.gitlab.com/features/. Wir verwenden das auch.
Ah, tatsächlich. Wir hatten damals viele Kombis ausprobiert und ich wusste noch, dass es da Einschränkungen gab bei CI/CD. Dann war es wohl die Kombi Gitea für Git-Repo und GitLab als CI/CD, das geht nicht im Free (GitLab CI/CD for external repositories Feature).

https://about.gitlab.com/pricing/self-m ... omparison/

Man muss bei GitLab auch grundsätzlich unterscheiden zwischen self-managed und gitlab.com Projekten.
Beleidigungen sind die Argumente derer, die unrecht haben.

-- Jean Jacques Rousseau

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von paedubucher » 01.05.2021 17:06:31

Ja, das CI ist schon dabei, bei den Bezahlversionen gibt es einfach noch gratis Runner-Minuten.

Bei uns steht noch ein Server rum, der mal für Machine Learning gebraucht worden ist. Den würden wir wohl als Runner einsetzen.

Gitea sieht interessant aus. Ist offenbar in Go geschrieben, was halt weniger Memory frisst als Ruby. Das sollte ich mir mal genauer anschauen.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Gharika
Beiträge: 209
Registriert: 28.09.2004 16:51:51
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von Gharika » 02.05.2021 08:01:13

Gitea ist wirklich einen zweiten Blick wert. Hat uns auch sehr positiv überrascht. Außer CI/CD hatte es bereits alles was wir sonst brauchten drin, obwohl es "so klein" ist.

Die Zusammenarbeit mit Jenkins funktioniert bei uns über WebHooks, ist nicht ganz so bequem wie in GitLab bzw. mächtig wie die GitLab-API. Aber mit paar zusätzlichen Plugins (z.B Embeddable Build Status) habe wir auch direkt im Gitea einen Feedback aus der CI/CD: z.B. Build Version, Build Dauer, Code Coverage, Artifact usw.

Jenkins sieht schon etwas "altbacken" aus, aber mit den super Plugins und der Fähigkeit die Pipeline direkt aus Git zu holen/starten haben wir alles was wir brauchen hinbekommen. Typische Pipeline:
- Git checkout
- Statischer Source Code check (clang/clazy, jslint, ...)
- Build
- Unit Tests (QTest, GoogleTest, Mocha, ...)
- Code Coverage (gcovr, jcoverage, ...)
- Memory Leak Checker (valgrind, ...)
- Pubilsher (HTML-Reports, jUnit, xUnit, Cobertura, ...)
- Deploy + Artifact Storage (SCP, FTP, ...)

Das ganze läuft auf Windows/Linux/MacOS (Jenkins-Agents) und gebaut wird für: Android, iOS, MacOS, Windows und Linux x86/ARM. Damit das alles funktioniert braucht man an die 20 extra Plugins für Jenkins. Hat etwas gedauert die passenden Plugins zu finden und zu konfigurieren.

Unsere Projekte sind hauptsächlich C++, PHP und JavaScript basiert. Aber generell ist der ganze Setup für alle Sprachen und Platformen geeignet. Jenkins und Gitea sind VMs, so dass wir sie einmal komplett als Appliance sichern können und für Test-Zwecke einfach clonen oder im Falle von Jenkins aus dem Master bei Bedarf schnell ganz viele Agents generieren können, da die VM alle passenden Build-Tools usw. schon drin hat.
Beleidigungen sind die Argumente derer, die unrecht haben.

-- Jean Jacques Rousseau

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von paedubucher » 02.05.2021 10:28:15

Ich denke, ich werde neben GitLab auch mal die Alternative Gitea im Zusammenhang mit einer anderen CI-Lösung anschauen. Jenkins ist offenbar immer noch eine solide Variante. Das altbackene Aussehen stört mich kaum; gewisse "Entscheider" haben da schon eher Mühe damit...
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Gharika
Beiträge: 209
Registriert: 28.09.2004 16:51:51
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von Gharika » 02.05.2021 14:00:16

Es gibt auch Bemühungen Jenkins zu modernisieren. Siehe Jenkins Blue Ocean oder Jenkins X. Hatten uns die auch kurz angeschaut, aber die waren "zu oberflächlich" :wink:
Wenn man einfache Build-Schritte (Anweisungen) hat mag das super sein, aber wir haben es alles etwas komplizierter durch die vielen Platformen und Cross-Compiler Toolchains. Mit Jenkins haben wir das besser hinbekommen (glauben wir jedenfalls). Zu einem bestimmten Zeitpunkt haben wir die anderen Optionen nicht mehr weiter verfolgt, daher es könnte genau so sein, dass wir uns einfach nicht genug eingearbeitet hatten.

Jenkins ist übrigends nicht "alt" im Sinne von aktiv weiterentwickelt. Es kommen ständig Updates, die wir auch immer sehr zeitnah einspielen, was sehr schnell und problemlos funktioniert. Jenkins + Plugin Update 2-5 Minuten, dann ist der Service wieder voll da, GitLab war da manchmal nach 30 Minuten nicht fertig und da lief der nur im Testbetrieb mit 1-2 Testprojekten. Nur einmal hat ein Plugin etwas rumgesponnen nach Update (glaub das Valgrind-Plugin), konnten wir aber schnell lösen.

Was die "Entscheider" angeht: denen zeigt man dann halt die tollen Test-Charts, Projekt-Badges und den Build-Monitor-View, der sieht ganz fancy aus und alles auf einen Blick, dann sind die Happy :lol: Ampeln finden Entscheider ganz toll, solange sie grün sind...

Wenn es von Interesse ist, kann ich unsere Plugin-Liste hier posten, aber dann erst ab Montag. Auswendig weiß ich die nicht alle.
Beleidigungen sind die Argumente derer, die unrecht haben.

-- Jean Jacques Rousseau

Benutzeravatar
paedubucher
Beiträge: 850
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Erfahrungen mit GitLab (oder anderen Alternativen)?

Beitrag von paedubucher » 22.06.2021 23:03:25

Ich habe mir jetzt einmal Gitea angeschaut, d.h. ich habe es kurz bei mir lokal probiert. Das ganze war so schnell aufgesetzt, dass ich es gleich auf einem richtigen Server ausprobieren wollte.

Die Oberfläche hat wirklich alles zu bieten, was man sich für ein kleines Entwicklerteam wünschen kann: Code browsen, Pull Requests, Issues, Konfiguration usw. Vom Bestellen der Domain bis zum ersten Pull Request verging keine Stunde. Das ist wirklich sagenhaft einfach! :THX:

Da wir das CI extern haben, ist GitLab für mich damit erledigt. (Nicht, dass ich etwas gegen GitLab hätte, es bringt halt für meinen Fall nur mehr Ballast.)
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Antworten