W moim projekcie muszę wybierać między Jenkins a Travis-CI. Używam Jenkinsa od lat, ale przeczytałem również dobre recenzje o Travis-CI.
Którego użyłbyś do projektu Open Source? Jakie są główne zalety lub zalety obu?
źródło
W moim projekcie muszę wybierać między Jenkins a Travis-CI. Używam Jenkinsa od lat, ale przeczytałem również dobre recenzje o Travis-CI.
Którego użyłbyś do projektu Open Source? Jakie są główne zalety lub zalety obu?
Travis-ci i Jenkins, podczas gdy oba są narzędziami do ciągłej integracji, są bardzo różne.
Travis to usługa hostowana (bezpłatna dla oprogramowania typu open source), podczas gdy musisz hostować, instalować i konfigurować Jenkins.
Travis nie ma pracy jak w Jenkins. Polecenia do uruchomienia w celu przetestowania kodu są pobierane z pliku o nazwie .travis.yml
znajdującej się wzdłuż kodu projektu. Ułatwia to posiadanie innego kodu testowego dla każdej gałęzi, ponieważ każda gałąź może mieć własną wersję pliku .travis.yml.
Możesz mieć podobną funkcję w Jenkins, jeśli używasz jednej z następujących wtyczek:
.jervis.yml
pliku znajdującego się w katalogu głównym kodu projektu. Jeśli .jervis.yml
nie istnieje, wróci do korzystania z .travis.yml
pliku.Istnieją inne usługi hostowane, które można również rozważyć w celu zapewnienia ciągłej integracji (niewyczerpująca lista):
Możesz chcieć pozostać z Jenkins, ponieważ znasz go lub nie chcesz polegać na firmach zewnętrznych w zakresie systemu ciągłej integracji. W przeciwnym razie porzucę Jenkinsa i skorzystam z jednej z darmowych hostowanych usług CI, ponieważ oszczędzą ci one wielu kłopotów (hostowanie, instalacja, konfiguracja, przygotowywanie zadań)
W zależności od tego, gdzie znajduje się Twoje repozytorium kodu, dokonałbym następujących wyborów:
Aby skonfigurować Travis-CI w projekcie github, wystarczy:
Dostępne funkcje to:
.travis.yml
wynika, że używanie Jenkinsa zamiast Travisa również zaoszczędzi ci wielu kłopotów ( !) Mam kilka projektów github, dla których prowadzę własnego Jenkinsa, i nie żałuję ani trochę. Jeśli masz możliwość prowadzenia własnego Jenkinsa, gorąco zachęcam do skorzystania z tej opcji. Miło jest mieć 100% kontrolę nad środowiskiem CI.Pracowałem zarówno z Travisem, jak i Jenkinsem: Wymienię niektóre funkcje obu:
Skonfiguruj CI dla projektu
Travis jest na pierwszym miejscu. Jest bardzo łatwy w konfiguracji. Instalacja w GitHub zajmuje mniej niż minutę.
Jenkins:
Ponowne uruchamianie kompilacji
Travis: Każdy, kto ma dostęp do zapisu w GitHub, może ponownie uruchomić kompilację, klikając opcję `restart build
Jenkins: Uruchom ponownie kompilacje na podstawie frazy. Podajesz tekst frazy w opisie PR / commit, np
reverify jenkins
.Kontrolowanie środowiska
Travis: Travis zapewnia środowisko hostowane. Instaluje wymagane oprogramowanie dla każdej kompilacji. To czasochłonny proces.
Jenkins: jednorazowa konfiguracja. Instaluje całe wymagane oprogramowanie na węźle / maszynie podrzędnej, a następnie buduje / testuje na wstępnie zainstalowanym środowisku.
Kompiluj dzienniki:
Travis: obsługuje dzienniki kompilacji do umieszczenia w Amazon S3.
Jenkins: łatwa w konfiguracji dzięki wtyczce artefaktów kompilacji.
źródło
Proponuję Travisowi projekt Open Source. Jest po prostu prosty w konfiguracji i obsłudze.
Proste kroki konfiguracji:
.travis.yml
plik w katalogu głównym swojego projektu. Dodaj Travis jako usługę na stronie ustawień repozytorium.Teraz za każdym razem, gdy zaangażujesz się w repozytorium, Travis zbuduje Twój projekt. Aby rozpocząć pracę z Travis CI, możesz wykonać proste kroki .
źródło