Jenkins vs Travis-CI. Którego z nich użyłbyś do projektu Open Source? [zamknięte]

zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Zaktualizuj pytanie, aby mogło być odpowiedź z faktami i cytatami przez edytując ten post .

Zamknięte 4 lata temu .

Popraw to pytanie

W moim projekcie muszę wybrać pomiędzy Jenkinsem a Travis-CI. Używam Jenkins od lat, ale czytałem również dobre recenzje o Travis-CI.

Który byś użyć do projektu Open Source? Jakie są główne zalety lub zalety obu?

Author: cmbuckley, 2015-09-06

3 answers

Travis - ci i Jenkins, podczas gdy oba są narzędziami ciągłej integracji są bardzo różne.

Travis jest usługą hostowaną (darmową dla open source), podczas gdy musisz hostować, instalować i konfigurować Jenkins.

Travis nie ma miejsc pracy jak Jenkins. Polecenia uruchamiane w celu przetestowania kodu są pobierane z pliku o nazwie .travis.yml, który znajduje się wzdłuż kodu projektu. To sprawia, że łatwo mieć inny kod testowy dla każdej gałęzi, ponieważ każda gałąź może mieć własną wersję .travis.plik yml.

Możesz mieć podobną funkcję w Jenkins, jeśli używasz jednej z następujących wtyczek:

  • Travis YML Plugin - warning: nie wydaje się być popularny, prawdopodobnie nie jest kompletny w porównaniu do prawdziwego Travisa.
  • Jervis - modyfikacja Jenkinsa pozwalająca odczytać zadania z pliku .jervis.yml znajdującego się w kodzie głównym projektu. Jeśli .jervis.yml nie istnieje, to powróci do użycia pliku .travis.yml zamiast tego.

Istnieją inne usługi hostowane, które można również rozważyć do ciągłej integracji (lista niewyczerpująca):


Jak wybrać ?

Możesz zostać z Jenkinsem, ponieważ jesteś z nim zaznajomiony lub nie chcesz polegać na 3rd party dla Twojego systemu ciągłej integracji. W przeciwnym razie rzuciłbym Jenkinsa i skorzystał z jednej z darmowych hostowanych usług CI, ponieważ oszczędzają one wiele kłopotów (host, instalacja, konfiguracja, przygotowanie zadań) {]}

W zależności od tego, gdzie znajduje się Twoje repozytorium kodu, dokonałbym następujących wyborów:

  • in-house → Jenkins lub gitlab-ci
  • Github.com → Travis-CI

Aby skonfigurować Travis-CI na projekcie github, wszystko co musisz zrobić jest:

  • dodaj .travis.yml plik w katalogu głównym projektu
  • załóż konto w travis-ci.com i aktywuj swój projekt

Funkcje, które otrzymujesz, to:

    Travis przeprowadzi testy dla każdego naciśnięcia twojego repo.]}
  • Travis przeprowadzi twoje testy na każdym pull request]}
 294
Author: Thomasleveil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Pracowałem nad Travisem i Jenkinsem: wymienię niektóre funkcje obu:

Konfiguracja CI dla projektu

Travis jest na pierwszym miejscu. Jest bardzo łatwy w konfiguracji. Konfiguracja z GitHub zajmuje mniej niż minutę.

  1. Zaloguj się do GitHub
  2. Utwórz Web Hook dla Travisa.
  3. Jeśli nie masz konta w usłudze GitHub, Zaloguj się na swoje konto.]}
  4. Zsynchronizuj repo z GitHub i włącz Push and Pull prośby.

  1. Create an Environment (Master Jenkins)
  2. Tworzenie haków internetowych
  3. Konfiguracja każdego zadania (wymaga czasu w porównaniu z Travisem)

Re-running builds

Travis: każdy z dostępem do zapisu na Githubie może ponownie uruchomić kompilację, klikając na ' restart build

Jenkins: Ponownie uruchom Kompilacje oparte na frazie. Podajesz tekst frazy w opisie PR/commit, np. reverify jenkins.

Controlling środowisko

Travis: Travis zapewnia środowisko hostowane. Instaluje wymagane oprogramowanie dla każdej kompilacji. To czasochłonny proces.

Jednorazowa konfiguracja. Instaluje wszystkie wymagane oprogramowanie na maszynie node / slave,a następnie buduje / testuje na wstępnie zainstalowanym środowisku.

Dzienniki Budowy:

Travis: obsługuje dzienniki kompilacji do umieszczenia w Amazon S3.

Jenkins: łatwa konfiguracja za pomocą wtyczki do tworzenia artefaktów.

 48
Author: rameshthoomu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-01 04:17:39

Sugerowałbym Travisa do projektu Open source. Jest po prostu prosty w konfiguracji i obsłudze.

Proste kroki do konfiguracji:

  1. powinien posiadać konto GITHUBi zarejestrować się na stronie Travis CI używając swojego konta GITHUB.
  2. Dodaj plik .travis.yml do katalogu głównego twojego projektu. Dodaj Travis jako usługę na stronie ustawień repozytorium.

Teraz za każdym razem, gdy wprowadzisz commit do repozytorium, Travis zbuduje Twój projekt. Możesz wykonać proste kroki, aby uzyskać zaczął z Travisem CI.

 30
Author: appsntech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-15 16:36:58