it-swarm.com.de

Jenkins gegen Travis-CI. Welches würden Sie für ein Open Source-Projekt verwenden?

Für mein Projekt muss ich mich zwischen Jenkins und Travis-CI entscheiden. Ich benutze Jenkins seit Jahren, habe aber auch gute Kritiken über Travis-CI gelesen.

Welches würden Sie für ein Open Source-Projekt verwenden? Was sind die Hauptvorteile von beiden?

254
Juan Luis

Travis-ci und Jenkins, während beide Werkzeuge für die kontinuierliche Integration sind, sind sehr unterschiedlich.

Travis ist ein gehosteter Dienst (kostenlos für Open Source), während Sie Jenkins hosten, installieren und konfigurieren müssen.

Travis hat keine Jobs wie in Jenkins. Die zum Testen des Codes auszuführenden Befehle stammen aus einer Datei mit dem Namen .travis.yml, die sich in Ihrem Projektcode befindet. Dadurch ist es einfach, für jeden Zweig einen anderen Testcode zu verwenden, da jeder Zweig eine eigene Version der Datei .travis.yml haben kann.

Sie können eine ähnliche Funktion mit Jenkins verwenden, wenn Sie eines der folgenden Plugins verwenden:

  • Travis YML Plugin - Warnung: scheint nicht populär zu sein, wahrscheinlich nicht vollständig im Vergleich zum echten Travis.
  • Jervis - Eine Modifikation von Jenkins zum Lesen. Erstellen Sie Jobs aus einer .jervis.yml -Datei, die sich im Stammverzeichnis des Projektcodes befindet. Wenn .jervis.yml nicht vorhanden ist, wird stattdessen die .travis.yml -Datei verwendet.

Es gibt andere gehostete Services, die Sie für eine kontinuierliche Integration in Betracht ziehen könnten (nicht vollständige Liste):


Wie man wählt ?

Möglicherweise möchten Sie bei Jenkins bleiben, weil Sie damit vertraut sind, oder Sie möchten Ihr kontinuierliches Integrationssystem nicht von Drittanbietern abhängig machen. Andernfalls würde ich Jenkins fallen lassen und einen der kostenlosen gehosteten CI-Dienste nutzen, da diese Ihnen viel Ärger ersparen (Hosten, Installieren, Konfigurieren, Vorbereiten von Jobs).

Abhängig davon, wo sich Ihr Code-Repository befindet, würde ich die folgenden Entscheidungen treffen:

  • inhouse → Jenkins oder Gitlab-Ci
  • Github.com → Travis-CI

Um Travis-CI in einem Github-Projekt einzurichten, müssen Sie nur Folgendes tun:

  • fügen Sie eine . travis.yml -Datei im Stammverzeichnis Ihres Projekts hinzu
  • erstellen Sie ein Konto bei travis-ci.com und aktivieren Sie Ihr Projekt

Die Funktionen, die Sie erhalten, sind:

  • Travis führt Ihre Tests für jeden auf Ihrem Repo gemachten Push durch
  • Travis führt Ihre Tests für jede Pull-Anfrage durch, die Mitwirkende stellen
278
Thomasleveil

Ich habe sowohl an Travis als auch an Jenkins gearbeitet: Ich werde einige der Features von beiden auflisten:

Richten Sie das CI für ein Projekt ein

Travis steht an erster Stelle. Es ist sehr einfach einzurichten. Die Einrichtung mit GitHub dauert weniger als eine Minute.

  1. Melden Sie sich bei GitHub an
  2. Erstellen Sie einen Web Hook für Travis (edit:
  3. Kehren Sie zu Travis zurück und melden Sie sich mit Ihren GitHub-Anmeldeinformationen an
  4. Synchronisieren Sie Ihr GitHub-Repo und aktivieren Sie Push- und Pull-Anforderungen.

Jenkins:

  1. Eine Umgebung schaffen (Master Jenkins)
  2. Erstellen Sie Web-Hooks
  3. Konfigurieren Sie jeden Job (Zeitaufwand im Vergleich zu Travis)

Builds erneut ausführen

Travis: Jeder mit Schreibzugriff auf GitHub kann den Build erneut starten, indem er auf `restart build 'klickt

Jenkins: Builds basierend auf einer Phrase erneut ausführen. Sie geben Phrasentext in der PR-/Commit-Beschreibung an, z. B. reverify jenkins.

Kontrollumgebung

Travis: Travis bietet eine gehostete Umgebung. Es installiert die erforderliche Software für jeden Build. Es ist ein zeitaufwendiger Prozess.

Jenkins: Einmalige Einrichtung. Installiert die gesamte erforderliche Software auf einem Knoten/Slave-Computer und erstellt/testet sie in einer vorinstallierten Umgebung.

Protokolle erstellen:

Travis: Unterstützt die Erstellung von Protokollen in Amazon S3.

Jenkins: Einfach einzurichten mit dem Build Artifacts Plugin.

42
rameshthoomu

Ich würde Travis für ein Open Source Projekt vorschlagen. Es ist einfach zu konfigurieren und zu verwenden.

Einfache Schritte zum Einrichten:

  1. Sollte GITHUB Konto haben und sich auf Travis CI Website mit Ihrem GITHUB Konto registrieren.
  2. Fügen Sie die Datei .travis.yml im Stammverzeichnis Ihres Projekts hinzu. Fügen Sie Travis als Dienst auf der Seite mit den Repository-Einstellungen hinzu.

Jetzt erstellt Travis jedes Mal, wenn Sie ein Commit in Ihr Repository durchführen, Ihr Projekt. Mit Travis CI können Sie einfache Schritte zum Starten ausführen.

27
appsntech