Antworten:
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 Befehle zum Ausführen des Codes stammen aus einer Datei mit dem Namen, .travis.yml
die sich entlang Ihres Projektcodes befindet. Dies macht es einfach, einen unterschiedlichen Testcode pro Zweig zu haben, da jeder Zweig eine eigene Version der Datei .travis.yml haben kann.
Sie können eine ähnliche Funktion mit Jenkins haben, wenn Sie eines der folgenden Plugins verwenden:
.jervis.yml
Datei zu erstellen, die sich im Stammverzeichnis des Projektcodes befindet. Wenn .jervis.yml
es nicht vorhanden ist, wird .travis.yml
stattdessen auf die Verwendung von Datei zurückgegriffen.Es gibt andere gehostete Dienste, die Sie möglicherweise auch für die kontinuierliche Integration in Betracht ziehen (nicht vollständige Liste):
Möglicherweise möchten Sie bei Jenkins bleiben, weil Sie damit vertraut sind oder sich bei Ihrem kontinuierlichen Integrationssystem nicht auf Dritte verlassen möchten. Andernfalls würde ich Jenkins fallen lassen und mich für einen der kostenlos gehosteten CI-Dienste entscheiden, da diese Ihnen viel Ärger ersparen (Hosten, Installieren, Konfigurieren, Vorbereiten von Jobs).
Abhängig davon, wo Ihr Code-Repository gehostet wird, würde ich die folgenden Entscheidungen treffen:
Um Travis-CI für ein Github-Projekt einzurichten, müssen Sie lediglich Folgendes tun:
Die Funktionen, die Sie erhalten, sind:
Ich habe sowohl an Travis als auch an Jenkins gearbeitet: Ich werde einige der Funktionen von beiden auflisten:
Travis steht an erster Stelle. Es ist sehr einfach einzurichten. Die Einrichtung mit GitHub dauert weniger als eine Minute.
Jenkins:
Travis: Jeder mit Schreibzugriff auf GitHub kann den Build erneut ausführen, indem er auf "Build neu starten" klickt
Jenkins: Führen Sie Builds basierend auf einer Phrase erneut aus. Sie geben Phrasentext in PR / Commit-Beschreibung an, wie z reverify jenkins
.
Travis: Travis bietet eine gehostete Umgebung. Es installiert die erforderliche Software für jeden Build. Es ist ein zeitaufwändiger Prozess.
Jenkins: Einmaliges Setup. Installiert die gesamte erforderliche Software auf einem Knoten / Slave-Computer und erstellt / testet sie anschließend in einer vorinstallierten Umgebung.
Travis: Unterstützt das Erstellen von Protokollen in Amazon S3.
Jenkins: Einfache Einrichtung mit dem Plugin für Build-Artefakte.
Ich würde Travis für ein Open Source-Projekt vorschlagen. Es ist einfach zu konfigurieren und zu verwenden.
Einfache Schritte zum Einrichten:
.travis.yml
Datei im Stammverzeichnis Ihres Projekts hinzu. Fügen Sie Travis als Dienst auf Ihrer Repository-Einstellungsseite hinzu.Jetzt erstellt Travis jedes Mal, wenn Sie sich in Ihr Repository verpflichten, Ihr Projekt. Sie können einfache Schritte ausführen, um mit Travis CI zu beginnen.
.travis.yml
erspart Ihnen die Verwendung von Jenkins über Travis auch viel Ärger ( !). Ich habe mehrere Github-Projekte, für die ich meine eigenen Jenkins verwende, und ich bereue das kein bisschen. Wenn Sie die Möglichkeit haben, Ihre eigenen Jenkins zu betreiben, würde ich diese Option sehr empfehlen. Es ist schön, 100% Kontrolle über Ihre CI-Umgebung zu haben.