Samouczek Jenkinsa
Jenkins jest jednym z najważniejszych narzędzi w . Mam nadzieję, że przeczytałeś mój poprzedni blog . W tym blogu z samouczkami Jenkinsa skupię się na architekturze Jenkins i potoku kompilacji Jenkinsa, a także pokażę, jak utworzyć kompilację w Jenkins.
Zanim przejdziemy do samouczka Jenkins, kluczowe wnioski z poprzedniego bloga to:
- Jenkins służy do integracji wszystkich etapów DevOps za pomocą wtyczek.
- Powszechnie używanymi wtyczkami Jenkins są Git, Amazon EC2, projekt Maven 2, wydawca HTML itp.
- Jenkins ma ponad 1000 wtyczek i147 000 aktywnych instalacji oraz ponad 1 milion użytkowników na całym świecie.
- Dzięki Continuous Integration każda zmiana dokonana w kodzie źródłowymjestwybudowany. Pełni również inne funkcje,zależy to od narzędzia używanego do ciągłej integracji.
- Nokia przeszła z Nightly build na Continuous Integration.
- Proces przed Continuous Integration miał wiele wad. W rezultacie nie tylko dostarczanie oprogramowania było powolne, ale również jakość oprogramowania nie była zadowalająca. Deweloperzy mieli również trudności ze zlokalizowaniem i naprawieniem błędów.
- Ciągła integracja z Jenkins przezwyciężyła te niedociągnięcia poprzez ciągłe wyzwalanie kompilacji i testów dla każdej zmiany dokonanej w kodzie źródłowym.
Teraz jest właściwy czas na zrozumienie architektury Jenkinsa.
Architektura Jenkinsa
Zrewidujmy samodzielną architekturę Jenkins, którą wyjaśniłem ci w , poniższy schemat przedstawia to samo.
Ten pojedynczy serwer Jenkins nie wystarczył do spełnienia pewnych wymagań, takich jak:
- Czasami możesz potrzebować kilku różnych środowisk, aby przetestować swoje kompilacje. Nie może tego zrobić pojedynczy serwer Jenkins.
- Jeśli większe i cięższe projekty są budowane regularnie, pojedynczy serwer Jenkins nie może po prostu obsłużyć całego obciążenia.
Aby sprostać powyższym potrzebom, wprowadzono rozproszoną architekturę Jenkins.
co jest awt w java
Architektura rozproszona Jenkinsa
Jenkins używa architektury Master-Slave do zarządzania kompilacjami rozproszonymi. W tej architekturze Master i Slave komunikują się poprzez protokół TCP / IP.
Mistrz Jenkinsa
Twój główny serwer Jenkins to Master. Zadaniem Mistrza jest obsługa:
- Planowanie prac budowlanych.
- Wysyłanie kompilacji do niewolników w celu rzeczywistego wykonania.
- Monitoruj niewolników (ewentualnie przenosząc ich do trybu online i offline w razie potrzeby).
- Rejestrowanie i prezentowanie wyników kompilacji.
- Główna instancja Jenkinsa może również bezpośrednio wykonywać zadania kompilacji.
Jenkins Slave
Slave to plik wykonywalny Java, który działa na zdalnym komputerze. Oto cechy niewolników Jenkinsa:
- Słyszy żądania z instancji Jenkins Master.
- Niewolnicy mogą działać w różnych systemach operacyjnych.
- Zadaniem Slave jest robienie tego, co mu każą, co obejmuje wykonywanie zadań budowania wysłanych przez Mastera.
- Możesz skonfigurować projekt tak, aby zawsze działał na określonej maszynie podrzędnej lub na konkretnym typie maszyny podrzędnej lub po prostu pozwolić Jenkinsowi wybrać następny dostępny podrzędny.
Poniższy schemat jest oczywisty. Składa się z Jenkins Master, który zarządza trzema Jenkins Slave.
Spójrzmy teraz na przykład, w którym Jenkins jest używany do testowania w różnych środowiskach, takich jak: Ubuntu, MAC, Windows itp.
Poniższy diagram przedstawia to samo:
Na powyższym obrazku są wykonywane następujące funkcje:
- Jenkins okresowo sprawdza repozytorium Git pod kątem wszelkich zmian wprowadzonych w kodzie źródłowym.
- Każda kompilacja wymaga innego środowiska testowego, co nie jest możliwe dla pojedynczego serwera Jenkins. Aby przeprowadzić testy w różnych środowiskach, Jenkins używa różnych Slave, jak pokazano na diagramie.
- Jenkins Master prosi te Slave o wykonanie testów i wygenerowanie raportów z testów.
Jenkins Build Pipeline
Służy do określenia, które zadanie jest obecnie wykonywane przez Jenkins. Często kilka różnych zmian jest wprowadzanych przez kilku programistów jednocześnie, więc warto wiedzieć, która zmiana jest testowana lub która jest w kolejce lub która kompilacja jest zepsuta. Tutaj pojawia się rurociąg. Jenkins Pipeline zapewnia przegląd tego, gdzie są testy. W potoku kompilacji kompilacja jako całość jest podzielona na sekcje, takie jak testy jednostkowe, testy akceptacyjne, pakowanie, raportowanie i fazy wdrażania. Fazy potoku mogą być wykonywane szeregowo lub równolegle, a jeśli jedna faza zakończy się powodzeniem, automatycznie przechodzi do następnej fazy (stąd znaczenie nazwy „potok”). Poniższy obraz pokazuje, jak wygląda potok kompilacji z wieloma kompilacjami.
Mam nadzieję, że zrozumiałeś koncepcje teoretyczne. A teraz zabawmy się praktycznymi.
Stworzę nową pracę w Jenkins, to jest Projekt Freestyle . Dostępne są jednak 3 dodatkowe opcje. Przyjrzyjmy się typom zadań kompilacji dostępnych w Jenkins.
Projekt Freestyle:
Prace budowlane w stylu dowolnym to prace budowlane ogólnego przeznaczenia, które zapewniają maksymalną elastyczność.Praca w stylu dowolnym jest najbardziej elastyczną i konfigurowalną opcją i może być używana do każdego typu projektu. Konfiguracja jest stosunkowo prosta, a wiele opcji, które tu konfigurujemy, pojawia się również w innych zadaniach kompilacji.
Zadanie z wieloma konfiguracjami:„Projekt wielokonfiguracyjny” (nazywany również „projektem macierzy”) umożliwia uruchomienie tego samego zadania kompilacji w różnych środowiskach. Służy do testowania aplikacji w różnych środowiskach, z różnymi bazami danych, a nawet na różnych maszynach kompilacji.
Monitoruj zadanie zewnętrzne:
Zadanie budowania „Monitorowanie zadania zewnętrznego” pozwala obserwować procesy nieinteraktywne, takie jak zadania cron.
Projekt Maven:
„Projekt maven2 / 3” to praca budowlana specjalnie dostosowana do projektów Maven. Jenkins rozumie pliki pom i struktury projektów Maven i może wykorzystać informacje zebrane z pliku pom, aby zmniejszyć ilość pracy, którą musisz wykonać, aby skonfigurować projekt.
Oto film na temat samouczka Jenkins, aby lepiej zrozumieć Jenkins. Obejrzyj ten samouczek wideo Jenkins.
Pierwsze kroki z Jenkinsem | Samouczek Jenkinsa i DevOps | Jenkins dla początkujących | Edureka
Tworzenie kompilacji przy użyciu Jenkinsa
Krok 1: Na stronie głównej interfejsu Jenkins wybierz Nowa pozycja.
Krok 2: Wprowadź nazwę i wybierz Projekt freestyle .
Krok 3: Na następnej stronie można określić konfigurację zadania. Jak szybko zauważysz, podczas tworzenia nowego projektu dostępnych jest wiele ustawień.Na tej stronie konfiguracji masz również opcję Dodaj krok kompilacji do wykonywania dodatkowych czynności, takich jak uruchamianie skryptów. Wykonam skrypt powłoki.
Zapewni to pole tekstowe, w którym możesz dodać dowolne polecenia, których potrzebujesz. Możesz używać skryptów do wykonywania różnych zadań, takich jak konserwacja serwera, kontrola wersji, odczytywanie ustawień systemowych itp. W tej sekcji uruchomię prosty skrypt.
Krok 4: Zapisz projekt, a zostaniesz przeniesiony na stronę przeglądu projektu. Tutaj możesz zobaczyć informacje o projekcie, w tym historię jego budowy.
Krok 5: Kliknij Buduj teraz po lewej stronie, aby rozpocząć tworzenie.
Krok 6: Aby zobaczyć więcej informacji, kliknij tę kompilację w obszarze historii kompilacji, po czym zostaniesz przeniesiony na stronę z przeglądem informacji o kompilacji.
Krok 7: Plik Wyjście konsoli link na tej stronie jest szczególnie przydatny do szczegółowego zbadania wyników pracy.
Krok 8: Jeśli wrócisz do domu Jenkinsa, zobaczysz przegląd wszystkich projektów i ich informacje, w tym stan.
Status konstrukcji jest wskazywany na dwa sposoby, za pomocą ikony pogody i kolorowej kulki. Ikona pogody jest szczególnie pomocna, ponieważ pokazuje zapis wielu kompilacji na jednym obrazie.
Jak widać na powyższym obrazku, słońce oznacza, że wszystkie moje kompilacje zakończyły się sukcesem. Kolor piłki określa stan tej konkretnej kompilacji, na powyższym obrazku kolor piłki jest niebieski, co oznacza, że ta konkretna kompilacja się powiodła.
W tym samouczku Jenkinsa podałem właśnie przykład wprowadzający. Na moim następnym blogu pokażę, jak pobrać i zbudować kod z repozytorium GitHub przy użyciu Jenkinsa.
Jeśli znalazłeś to Samouczek Jenkinsa istotne, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka DevOps Certification Training pomaga uczniom zdobyć wiedzę na temat różnych procesów DevOps i narzędzi, takich jak Puppet, Jenkins, Nagios i GIT, do automatyzacji wielu kroków w SDLC.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.