Co to jest CI?
Ciągła integracja to metoda tworzenia oprogramowania, w której członkowie zespołu mogą integrować swoją pracę przynajmniej raz dziennie. W tej metodzie każda integracja jest sprawdzana przez automatyczną kompilację w celu wyszukania błędu. Koncepcja CI została wprowadzona po raz pierwszy ponad dwie dekady temu, aby uniknąć „piekła integracji”, które ma miejsce, gdy integracja jest odkładana do końca projektu.
W tym samouczku dowiesz się
- Co to jest CI?
- Co to jest Travis CI?
- Co to jest Jenkins?
- Co robi Travis?
- Co zrobił Jenkin?
- Funkcje Travis CI:
- Funkcje Jenkin:
- Travis kontra Jenkins
- Wskaźnik popularności
- Co jest lepsze?
Jak działa CI?
- Programiści piszą kod i zatwierdzają zmiany w udostępnionym repozytorium
- Następnie serwer CI monitoruje repozytorium i ocenia wszystkie zmiany
- CI buduje system i przeprowadza testy integracyjne i jednostkowe
- Serwer udostępnia możliwe do wdrożenia artefakty
- Serwer ciągłej integracji przypisuje tag kompilacji do wersji i kodu kompilacji
- Następnie serwer CI informuje zespół o pomyślnej kompilacji. Jeśli testy zakończą się niepowodzeniem, serwer powiadamia zespół programistów o zdarzeniu. Zespół naprawi problemy tak szybko, jak to możliwe.
KLUCZOWA RÓŻNICA
- Travis CI to komercyjne narzędzie CI, podczas gdy Jenkins to narzędzie o otwartym kodzie źródłowym.
- Travis CI zajmuje znacznie mniej czasu, aby rozpocząć, podczas gdy Jenkins wymaga skomplikowanej konfiguracji.
- Travis CI oferuje mniej opcji dostosowywania, podczas gdy Jenkins oferuje szerokie opcje dostosowywania.
- Travis CI ma plik konfiguracyjny YAML, podczas gdy Jenkins zapewnia użytkownikowi pełną opcję konfiguracji.
Co to jest Travis CI?
Travis CI był pierwszym narzędziem CI jako usługowym. Wprowadził nowe podejście do budowania kodu w chmurze. To narzędzie CI pozwala użytkownikowi zarejestrować się, połączyć swoje repozytorium, budować, a także testować swoje aplikacje.
Narzędzie Travis CI można łatwo zintegrować z popularnymi repozytoriami w chmurze, takimi jak GitHub i Bitbucket. Oferuje wiele zautomatyzowanych opcji CI, które eliminują potrzebę posiadania dedykowanego serwera, ponieważ serwer Travis CI jest hostowany w chmurze. Pozwala to na testowanie w różnych środowiskach, na różnych komputerach, działających na różnych systemach operacyjnych.
Travis CI jest bezpłatny dla projektów open source. W przypadku projektów komercyjnych musisz kupić plan przedsiębiorstwa.
Co to jest Jenkins?
Jenkins to wielokrotnie nagradzane narzędzie do ciągłej integracji, które monitoruje wykonywanie cykli wdrożeniowych. Zaczęło się jako poboczny projekt grupy inżynierów oprogramowania firmy Sun. Później został rozszerzony jako jedno z popularnych narzędzi open source CI, które pomagają zespołom programistów w automatyzacji ich wdrożeń.
Jenkins to narzędzie oparte na języku Java, co oznacza, że do jego obsługi potrzebujesz tylko środowiska Java Runtime Environment. W związku z tym Jenkins można zainstalować w dowolnym systemie operacyjnym, w którym działa Java.
W tym narzędziu programiści mogą również określać warunki dostosowanych kompilacji. Jenkins obsługuje ogromne archiwum wtyczek. Pozwala to programistom zmieniać wygląd i działanie Jenkin.
Co więcej, pakiet wtyczek Jenkins Pipeline zawiera specjalne narzędzia, które umożliwiają programistom modelowanie łatwych do skomplikowanych potoków dostarczania przy użyciu metody DSL (Digital Subscribe line).
Co robi Travis?
Travis CI oferuje następujące korzyści:
- Możesz monitorować projekty GitHub
- Uruchamia test i szybko generuje wyniki. Możliwe jest równoległe wykonywanie testów.
- Twórz artefakty i sprawdzaj jakość kodu
- Łatwe wdrażanie w usługach w chmurze
- Potrafi zidentyfikować zarówno małe, jak i duże zmiany w kodzie.
- Programiści mogą używać Travis CI do oglądania testów, gdy są uruchomione.
- Narzędzie integruje się ze Slackiem, HipChat, Email, itp.
Co robi Jenkin?
Jenkins umożliwia automatyzację zadań kompilacji, testowania i wdrażania. Narzędzie zapewnia obsługę różnych systemów operacyjnych, takich jak Windows, Mac OSX i Linux.
Co więcej, Jenkins umożliwia szybkie tworzenie i testowanie kodu w celu uzyskania wczesnej opinii na temat tego, czy jest on gotowy do produkcji, czy nie. W większości przypadków Jenkin będzie wymagał kilku modyfikacji zgodnie z niestandardowymi wymaganiami Twojego zespołu.
Funkcje Travis CI:
- Automatyczna integracja z GitHubem
- Dostęp do repozytorium w celu tworzenia żądań ściągnięcia
- Obsługa 21 języków, takich jak Android, C, C #, C ++, Java, JavaScript (z Node.js), Perl, PHP, Python, R, Ruby itp.
- Wstępnie zainstalowane narzędzia do kompilacji i testowania
- Dostępne usługi - bazy danych, kolejki wiadomości itp.
- Wdrażanie w wielu usługach w chmurze
- Szyfruj bezpieczne zmienne środowiskowe lub pliki
- Maszyny wirtualne odtwarzane po każdej kompilacji
- Klient CLI i API do obsługi skryptów
- W zestawie darmowy hosting w chmurze, który nie wymaga konserwacji ani administracji.
Funkcje Jenkin:
- Łatwa instalacja, aktualizacja i konfiguracja
- Rozproszone kompilacje
- Monitorowanie zadań zewnętrznych
- Ponad 600 wtyczek do dostosowywania środowiska Jenkins
- Ponad 1000+ repozytoriów publicznych na Github, ponad 500 współtwórców, silna aktywność związana z zobowiązaniami
- Obsługa różnych metod uwierzytelniania, systemów kontroli wersji, powiadomień itp.
- Jenkins zapewnia zdalny dostęp API i jego funkcje.
- Zapewnij potężne narzędzie CI / CD dla dużych projektów
- Obsługuje różne modele pracy, takie jak Freestyle, Pipeline itp.,
- Umożliwia programistom dodawanie rozszerzeń
- Kompatybilny z Docker, Libvirt, Kubernetes i wieloma innymi programami
Travis kontra Jenkins
Parametr | Jenkin | Travis |
---|---|---|
Koszt | Jenkins jest bezpłatny. Ale zespół programistów musi uruchomić i utrzymywać swój serwer dedykowany. Można to uznać za dodatkowy koszt. | Pakiety dla przedsiębiorstw Travis CI zaczynają się od 129 USD miesięcznie. Wzrost kosztów w zależności od poziomu wymaganego wsparcia. |
Ustawienia czasu | Jenkins wymaga skomplikowanej konfiguracji. Więc będziesz miał bardzo długi czas oczekiwania na pełną instalację. | Rozpoczęcie pracy zajmuje znacznie mniej czasu. Utwórz plik konfiguracyjny i rozpocznij integrację. |
Wydajność | Jeśli szukasz narzędzia CI z nieograniczonymi opcjami dostosowywania, Jenkins jest najlepszym wyborem dla Ciebie. | Travis CI to najlepszy wybór, jeśli pracujesz w projekcie open source. |
Typ narzędzia | Jest to narzędzie typu open source, które można bezpłatnie używać. | Jest to komercyjne narzędzie CI |
Stosowanie | Łatwy w użyciu | Elastyczny w użyciu |
Github | Dobre dla Githuba | Doskonałe dla Github |
Wsparcie | Szerokie wsparcie społeczności. | Ograniczone wsparcie dla społeczności. |
Plusy |
|
|
Cons |
|
|
Plany użytkowania | Darmowy | Bezpłatnie dla projektów open source. Jednak zapłacono za przedsiębiorstwo. |
Maszyna serwerowa | Oparty na serwerze | Oparta na chmurze |
Opcje dostosowywania | Jeszcze | Mniej |
Konfiguracja | W pełni konfigurowalny | YAML |
Kontrola w systemie | Pełny | Dużo mniej |
Wskaźnik popularności
Liczba pytań oznaczonych jako Jenkins i Travis w Stack Overflow.
Co jest lepsze?
W związku z powyższym możemy stwierdzić, że Travis i Jenkins oferują wspaniałe funkcje. Jednak małe projekty open source najlepiej nadają się do Travis CI, ponieważ są łatwe w obsłudze i szybkie w konfiguracji. Z drugiej strony, duże przedsiębiorstwo najlepiej nadaje się do Jenkinsa, ponieważ oferuje bezpłatne licencje na prywatny projekt i szeroką gamę dostosowywalnych funkcji. Możemy więc powiedzieć, że oba te narzędzia ciągłej integracji są dobre na swój sposób.