Gitlab
Es ist ein kostenloses Open-Source-Produkt, das unter der MIT-Lizenz veröffentlicht und in Go und Ruby geschrieben wurde. Ein separater Server in einer solchen Lösung kann mehr als 25.000 Benutzer verarbeiten.
GitLab-Oberfläche GitLab
bietet die Möglichkeit, mit Repositorys zu arbeiten, Code zu überprüfen, verfügt über ein eigenes Fehlerkontrollsystem und vieles mehr. Um die Privatsphäre der Benutzer zu verbessern, kann das Tool durch lokale Installation mit Active Directory- und LDAP-Servern verknüpft werden.
Eine große und engagierte Community erleichtert die Arbeit mit dem Produkt. GitLab wird nicht nur zum Generieren von Code verwendet, sondern auch zum gründlichen Überprüfen. Fast alle Build-Umgebungen und Versionskontrollsysteme werden unterstützt.
Profis
- Detaillierte Dokumentation und einfache Verwaltung.
- . , .
- , .
- .
- pull requests , opensource-.
- (, ) .
- .
Jenkins
Eine erweiterbare OpenSource-Lösung zur Automatisierung der Bereitstellung. Jenkins ist in Java geschrieben und läuft auch unter der MIT-Lizenz. Es verfügt über zahlreiche Funktionen zur Automatisierung der Aufgaben zum Erstellen, Testen, Bereitstellen, Integrieren und Freigeben von Software.
Jenkins-Schnittstelle
Neben der Installation über ein herkömmliches Installationspaket kann es sowohl eigenständig als auch als Docker auf jedem Computer installiert werden, auf dem Java Runtime Environment (JRE) installiert ist.
Es gibt auch ein Teilprojekt des Jenkins-Teams namens Jenkins X, das sich auf CI / CD in Kubernetes-Clustern spezialisiert hat.
Das Jenkins-Team hat ungefähr 1.500 Plugins veröffentlicht, sodass es mit anderen Lösungen wie Co Slack, Jira und anderen verwendet werden kann. Die Integration ist auch für eine Reihe von DevOps-Testtools verfügbar. Die REST-API für den Remotezugriff auf das System wird unterstützt. Es gibt drei Varianten: Python, XML und JSON mit JSONP-Unterstützung. Wie bei GitLab hilft es, eine große, leidenschaftliche Community aufzubauen. Es kann auch als Servlet in Java-Containern wie GlassFish und Apache Tomcat fungieren.
Profis
- Einfach einzurichten und zu aktualisieren (in nur wenigen Schritten).
- Automatisierter Erstellungsprozess und detaillierte, klare Dokumentation.
- Einfache Integration mit anderen Tools. In diesem Fall können Sie über den Fortschritt des Prozesses informiert werden.
- . , .
- .
- , .
Jenkins ist gut für seine große Plugin-Bibliothek, die vollständige Kontrolle über Arbeitsbereiche, die einfache Einrichtung von Knoten und die einfache Bereitstellung. Im Allgemeinen ist die Lösung flexibel, universell und leicht zu erlernen und unterstützt viele Sprachen (Russisch wird jedoch nicht vollständig unterstützt).
In GitLab ist es einfach, Läufer zu skalieren. Es gibt eine parallele Ausführung von Aufgaben in verschiedenen Phasen der Pipeline. Die Lösung lässt sich sehr gut skalieren, es ist einfach, Aufgaben hinzuzufügen. Außerdem ist GitLab in Bezug auf Sicherheit und Datenschutz gut gelungen.
Mit GitLab können Sie alle Aspekte der Arbeit mit Git-Repositorys steuern, einschließlich Zweigen mit Code. Mit Jenkins steuern Sie die Repositorys nur bis zu einem gewissen Grad. Beispielsweise haben Sie nicht die volle Kontrolle über Zweige.
Es lohnt sich auch, sich an die ursprüngliche Aufgabe zu erinnern, die bei der Entwicklung beider Tools bestand. Jenkins wurde hauptsächlich für die CI-Implementierung entwickelt, während GitLab für die Code-Zusammenarbeit und Versionskontrolle entwickelt wurde.
Blog ITGLOBAL.COM - Managed IT, Private Clouds, IaaS, Informationssicherheitsdienste für Unternehmen: