Jenkins gegen Travis-CI: Was ist der Unterschied?

Inhaltsverzeichnis:

Anonim

Was ist CI?

Die kontinuierliche Integration ist eine Softwareentwicklungsmethode, bei der Mitglieder des Teams ihre Arbeit mindestens einmal am Tag integrieren können. Bei dieser Methode wird jede Integration durch einen automatisierten Build überprüft, um den Fehler zu suchen. Das CI-Konzept wurde vor über zwei Jahrzehnten eingeführt, um die "Integrationshölle" zu vermeiden, die auftritt, wenn die Integration bis zum Ende eines Projekts verschoben wird.

In diesem Tutorial lernen Sie

  • Was ist CI?
  • Was ist Travis CI?
  • Was ist Jenkins?
  • Was macht Travis?
  • Was hat Jenkin getan?
  • Travis CI Funktionen:
  • Jenkin Eigenschaften:
  • Travis gegen Jenkins
  • Beliebtheitsindex
  • Welches ist besser?

Wie funktioniert CI?

  • Entwickler schreiben Code und übernehmen Änderungen am freigegebenen Repository
  • Danach überwacht der CI-Server das Repository und wertet alle Änderungen aus
  • CI baut das System auf und führt Integrations- und Unit-Tests durch
  • Der Server gibt bereitstellbare Artefakte frei
  • Der Continuous Integration Server weist der Version und dem Build-Code ein Build-Tag zu
  • Anschließend meldet der CI-Server dem Team den erfolgreichen Build. Wenn die Tests fehlschlagen, benachrichtigt der Server das Entwicklungsteam über das Ereignis. Das Team wird die Probleme so schnell wie möglich beheben.

SCHLÜSSELUNTERSCHIED

  • Travis CI ist ein kommerzielles CI-Tool, während Jenkins ein Open-Source-Tool ist.
  • Travis CI benötigt sehr viel weniger Zeit, um loszulegen, während Jenkins eine aufwändige Einrichtung benötigt.
  • Travis CI bietet weniger Anpassungsoptionen, während Jenkins umfangreiche Anpassungsoptionen bietet.
  • Travis CI verfügt über eine YAML-Konfigurationsdatei, während Jenkins dem Benutzer eine vollständige Konfigurationsoption bietet.

Was ist Travis CI?

Travis CI war das erste CI as a Service-Tool. Es wurde ein neuer Ansatz zum Erstellen von Code in der Cloud eingeführt. Mit diesem CI-Tool kann sich der Benutzer anmelden, sein Repository verknüpfen, seine Apps erstellen und testen.

Das Travis CI-Tool kann problemlos in gängige Cloud-Repositorys wie GitHub und Bitbucket integriert werden. Es bietet viele automatisierte CI-Optionen, die die Notwendigkeit eines dedizierten Servers überflüssig machen, da der Travis CI-Server in der Cloud gehostet wird. Auf diese Weise können Sie in verschiedenen Umgebungen, auf verschiedenen Computern und unter verschiedenen Betriebssystemen testen.

Travis CI ist kostenlos für Open Source-Projekte. Für kommerzielle Projekte müssen Sie einen Unternehmensplan erwerben.

Was ist Jenkins?

Jenkins ist ein preisgekröntes Tool zur kontinuierlichen Integration, das die Ausführung von Bereitstellungszyklen überwacht. Es begann als Nebenprojekt der Software Engineers Group von Sun. Später wurde es als eines der beliebtesten Open-Source-CI-Tools erweitert, mit denen Softwareentwicklungsteams ihre Bereitstellungen automatisieren können.

Jenkins ist ein Java-basiertes Tool, dh Sie benötigen nur Java Runtime Environment, um es zu betreiben. Daher kann Jenkins auf jedem Betriebssystem installiert werden, auf dem Java ausgeführt wird.

In diesem Tool können Entwickler auch Bedingungen für benutzerdefinierte Builds angeben. Jenkins unterstützt ein umfangreiches Plugin-Archiv. Dadurch können Entwickler das Aussehen und die Funktionsweise von Jenkin ändern.

Darüber hinaus enthält die Plugins-Suite Jenkins Pipeline spezielle Tools, mit denen Entwickler einfach bis komplexe Lieferpipelines mithilfe der DSL-Methode (Digital Subscribe Line) modellieren können.

Was macht Travis?

Travis CI bietet folgende Vorteile:

  • Sie können GitHub-Projekte überwachen
  • Führt Test aus und generiert schnell Ergebnisse. Parallele Testausführung ist möglich.
  • Erstellen Sie Artefakte und überprüfen Sie die Codequalität
  • Einfache Bereitstellung für Cloud-Dienste
  • Es kann sowohl kleine als auch große Codeänderungen identifizieren.
  • Entwickler können Travis CI verwenden, um die Tests während der Ausführung zu verfolgen.
  • Das Tool lässt sich in Slack, HipChat, E-Mail usw. integrieren.

Was macht Jenkin?

Mit Jenkins können Sie Ihre Build-, Test- und Bereitstellungsaufgaben automatisieren. Das Tool bietet Unterstützung für verschiedene Betriebssysteme wie Windows-, Mac OSX- und Linux-Systeme.

Darüber hinaus können Sie mit Jenkins Ihren Code schnell erstellen und testen, um frühzeitig Feedback zu erhalten, ob er für die Produktion bereit ist oder nicht. In den meisten Fällen erfordert Jenkin nur wenige Änderungen gemäß den benutzerdefinierten Anforderungen Ihres Teams.

Travis CI Funktionen:

  • Automatische Integration mit GitHub
  • Repository-Zugriff zum Erstellen von Pull-Anforderungen
  • Unterstützung für 21 Sprachen wie Android, C, C #, C ++, Java, JavaScript (mit Node.js), Perl, PHP, Python, R, Ruby usw.
  • Vorinstallierte Build & Test-Tools
  • Verfügbare Dienste - Datenbanken, Nachrichtenwarteschlangen usw.
  • Bereitstellung auf mehreren Cloud-Diensten
  • Verschlüsseln Sie sichere Umgebungsvariablen oder -dateien
  • Virtuelle Maschinen werden nach jedem Build neu erstellt
  • CLI-Client und API für die Skripterstellung
  • Kommt mit kostenlosem Cloud-basiertem Hosting, das keine Wartung oder Administration erfordert.

Jenkin Eigenschaften:

  • Einfach zu installieren, zu aktualisieren und zu konfigurieren
  • Verteilte Builds
  • Überwachung externer Jobs
  • Mehr als 600 Plugins zum Anpassen Ihrer Jenkins-Umgebung
  • Über 1000 öffentliche Repositories auf Github, mehr als 500 Mitwirkende, starke Commit-Aktivität
  • Unterstützung für verschiedene Authentifizierungsmethoden, Versionskontrollsysteme, Benachrichtigungen usw.
  • Jenkins bietet eine RAS-API und deren Funktionen.
  • Bereitstellung eines leistungsstarken CI / CD-Tools für große Projekte
  • Es unterstützt verschiedene Jobmodelle wie Freestyle, Pipeline usw.
  • Ermöglicht Entwicklern das Hinzufügen ihrer Erweiterungen
  • Kompatibel mit Docker, Libvirt, Kubernetes und vielen anderen Programmen

Travis gegen Jenkins

Parameter Jenkin Travis
Kosten Jenkins ist frei. Das Entwicklungsteam muss jedoch seinen dedizierten Server ausführen und warten. Dies könnte als zusätzlicher Aufwand angesehen werden. Travis CI Enterprise-Suiten beginnen bei 129 US-Dollar pro Monat. Kostensteigerung basierend auf dem von Ihnen benötigten Support.
Installationszeit Jenkins muss aufwendig eingerichtet werden. Sie haben also eine sehr lange Wartezeit für die vollständige Installation. Der Einstieg dauert sehr viel weniger. Erstellen Sie eine Konfigurationsdatei und beginnen Sie mit der Integration.
Performance Wenn Sie nach einem CI-Tool mit unbegrenzten Anpassungsoptionen suchen, ist Jenkins die beste Wahl für Sie. Travis CI ist die beste Wahl, wenn Sie in einem Open Source-Projekt arbeiten.
Werkzeugtyp Es ist Open Source kostenlos, um das Tool zu verwenden. Es ist ein kommerzielles CI-Tool
Verwendung Einfach zu verwenden Flexibel zu bedienen
Github Gut für Github Hervorragend für Github
Unterstützung Umfangreiche Unterstützung durch die Community. Begrenzte Unterstützung für die Community.
Vorteile
  • Die Anpassung ist der größte Vorteil des Jenkins CI-Servers
  • Ein umfangreiches Plugin-Archiv kann konfiguriert werden, um das Aussehen von Jenkins zu ändern.
  • Sie können auch neue Funktionen wie Authentifizierung, Warnungen und Anmeldeinformationen hinzufügen.
  • Integration mit GitHub & Cloud
  • Unbegrenzte Open Source-Projekte mit voller Funktionalität
  • Umfangreiche Projektkonfiguration über die Datei .travis.ymi
  • Ermöglicht Clustertests und deren parallele Ausführung
  • Mehrere Build-Umgebungen und Zielplattformen (dh Knoten 0.10, 0.8.0.6, Li on).
Nachteile
  • Ein Hauptnachteil von Jenkins für die kontinuierliche Integration ist die hohe Konfigurierbarkeit. Es gibt keine sofort einsatzbereite Einrichtung. Aus diesem Grund kann es zwei bis drei Stunden bis Tage dauern, bis alles im System konfiguriert ist.
  • Die größten Nachteile der Installation von Travis CI sind, dass die kommerziellen Pläne bei 129 USD / m beginnen, was ziemlich teuer ist.
  • Nicht für Hochsicherheitsprojekte geeignet
  • Im Gegensatz zu anderen CI-Tools bietet es keine Bitbucket-Unterstützung.
Nutzungspläne Frei Kostenlos für Open Source Projekte. Allerdings für Unternehmen bezahlt.
Server-Maschine Serverbasiert Cloud-basiert
Anpassungsoptionen Mehr Weniger
Aufbau Vollständig anpassbar YAML
Steuerung des Systems Voll Sehr wenig

Beliebtheitsindex

Die Anzahl der Fragen mit den Bezeichnungen Jenkins und Travis im Stapelüberlauf.

Welches ist besser?

Mit der obigen Diskussion können wir also feststellen, dass Travis und Jenkins beide wunderbare Funktionen bieten. Kleine Open Source-Projekte eignen sich jedoch am besten für Travis CI, da sie einfach auszuführen und schnell einzurichten sind. Auf der anderen Seite ist ein großes Unternehmen am besten für Jenkins geeignet, da es eine kostenlose Lizenzierung für ein privates Projekt und eine breite Palette an anpassbaren Funktionen bietet. Wir können also sagen, dass diese beiden Tools für die kontinuierliche Integration auf ihre Weise gut sind.