Co to jest Jenkins?
- Jenkins to narzędzie do ciągłej automatyzacji integracji (open source), które jest instalowane na serwerze, na którym odbywa się kompilacja. Ciągła integracja odnosi się do procesu, w którym programiści przekazują swój kod do powszechnie utworzonego repozytorium, gdy tylko ukończą programowanie.
- W procesie CI / CD powoduje również wzrost obciążenia, dlatego w Jenkins mamy potoki do utrzymywania oznaczonych użytkowników i uprawnień. To samo dotyczy rosnących projektów.
- Po zwiększeniu budynku rośnie odpowiednia potrzeba stworzenia testowanych agentów wraz z ich utrzymaniem.
Definicja Jenkins -
- Definicja podana dla Jenkins przez Jenkins.io jest następująca -
„Jenkins jest niezależnym serwerem automatyzacji typu open source, którego można używać do automatyzacji wszelkiego rodzaju zadań związanych z budowaniem, testowaniem oraz dostarczaniem lub wdrażaniem oprogramowania”.
- Kiedy więc pojawia się koncepcja ciągłej integracji lub ciągłego wdrażania, pojawiają się narzędzia takie jak Jenkins i koła. Ale tutaj rozmawialiśmy tylko o Jenkinsie.
Zrozumienie Jenkins -
- Potok ciągłej integracji jest zestawem zadań sekwencyjnych lub równoległych, zadania te są zaprojektowane do wykonywania zestawu zadań, które są konfigurowane za pomocą interfejsu GUI.
- W związku z trudnościami w utrzymaniu rosnącej liczby projektów, kompilacji, kompilacji poprawek i kopii, wprowadzono koncepcję potoku Jenkins. Ten potok nazywa się jenkinsfile.
- Jenkins obsługuje również okno dokowane i kubernetes, takie jak technologie, w których uruchamiane są mikrousługi.
- Czasami pojawiają się pewne problemy, takie jak spowolnienie z powodu generowania ogromnej liczby dzienników.
- Jenkins może skutkować wysokim zużyciem procesora, proporcjonalnym do liczby użytkowników uzyskujących dostęp do Jenkins.
- Jenkins jest pionowo (wymaga skalowania sprzętowego) i poziomo skalowalny (wymaga wielu wzorców Jenkins).
- Widać, że posiadanie jednego mistrza Jenkins jest przyjemne, ale kompromis musi być ustalony między dostępnością a łatwością obsługi, ponieważ w przypadku upadku pojedynczego mistrza powstrzyma to biznes.
- Niewolnicy Jenkins w równym stopniu przyczyniają się do testowania wraz z budynkiem, Jenkins zapewnia koncepcję równoległych testów, które przyspieszają również rurociąg.
- Zapewniona jest wysoka dostępność wraz z obsługą przełączania awaryjnego w systemach pierwotnych i wtórnych.
Jak działa Jenkins -
Zanim zaczniesz pracować z Jenkinsem, musisz spełnić pewne warunki wstępne.
Zalecany sprzęt jest następujący:
- RAM> = 1 GB
- Wystarczy miejsce na dysku> = 50 GB.
Wymagania wstępne dotyczące oprogramowania są następujące:
- Windows / Linux (najlepiej)
- JDK 8
- Muszą tam być kontenery sieciowe zgodne z serwletem 3.1.
Istnieją dwie architektury, w których możemy wykonać projekt -
- Architektura master-slave
- Architektura master-master
- Możemy skonfigurować węzły podrzędne na stronie „Zarządzaj węzłami”. Następnie określ węzły i ich nazwy, a następnie ustaw właściwości węzłów, powiąż urządzenia podrzędne z urządzeniami nadrzędnymi, a następnie uruchom węzły podrzędne.
- Istnieją pewne podstawowe technologie, które powinny istnieć -
- Menedżer pakietów węzłów i GIT
- Eclipse IDE i Maven
- Baza danych
- Narzędzia testowe Junit lub selen do testowania automatycznego
- Wszelkie środowiska takie jak Docker (najlepiej) byłyby odpowiednie.
Działa w trzech etapach - akcje przed kompilacją, akcje kompilacji i akcje po kompilacji
W działaniach PreBuild - istnieją minimalizatory JS, które minimalizują i kompresują kod przed umieszczeniem go w kompilacji, odbywa się to za pomocą wtyczek pre-build. Wraz z tym konstruktorem mrówek można wywoływać w wymaganych przypadkach, partie okien, polecenia powłoki i wywołać cele maven w celu zapewnienia plików konfiguracyjnych.
Wstępnie zbudowane wtyczki wykonują wypychanie kodu, odpytywanie, kompilowanie, pakowanie i publikowanie.
Na etapie kompilacji działań - kod przesłany do tego etapu z poprzedniego etapu jest kompilowany i testowany.
Na etapie po kompilacji - tutaj kody są archiwizowane do formatów możliwych do wdrożenia, a na koniec są przesyłane.
Dlaczego warto korzystać z Jenkinsa -
- Kompatybilny do wdrażania mikrousług z kubernetes i dokerem
- Następna era aplikacji dotyczyłaby wyłącznie rozwoju opartego na mikrousługach, ponieważ potrzeba skalowalności i dostępności pojawia się w przypadku niektórych usług tylko w scenariuszach z maksymalną liczbą aplikacji. W ten sposób wdrożenia i usługi mogą być wypychane w sposób zautomatyzowany za pomocą Jenkins, po prostu musisz podać skrypty powłoki w danych wejściowych, a on może wykonać resztę zadania za Ciebie.
- Potok jest obsługiwany.
Co możesz zrobić z Jenkins -
- Utwórz proces w dwóch architekturach, jak wspomniano powyżej.
- Jeśli chcesz mieć tylko jednego wzorca, możesz zastosować to podejście, jeśli chcesz dopasować ograniczenia dostępności, możesz przejść z wieloma wzorcami.
- Istnieje wiele wtyczek typu open source do obsługi wielu zadań w sposób zautomatyzowany.
- Aplikacje monolityczne lub oparte na mikrousługach są dobrze obsługiwane.
Zalety Jenkinsa -
- Jest to serwer typu open source i serwer ciągłej integracji.
- Jenkins prowadzi teraz rurociąg.
- Środowisko dostarczania jest teraz dostępne z dowolnego języka.
- Proces dostawy produktu przyspiesza, a tym samym jest zgodny ze zwinnym modelem w ścisłej współpracy.
- Jenkins to narzędzie CI / CD.
- Zapewniono takie funkcje, jak kontrola dostępu oparta na rolach.
- Jenkins jest skalowalny, dzięki czemu można rozwiązać problemy z dostępnością i skalowalnością.
- Rozproszone zespoły mogą pracować i zarządzanie nimi jest teraz łatwe.
- Obsługa kontenerów jest dostępna.
- Serwer LDAP jest integralną funkcją jego architektury.
- Jenkins 2.0 jest również kompatybilny wstecz.
- Strony konfiguracji strony zadania pojawiły się w improwizowany sposób dzięki Jenkins 2.0
Dlaczego potrzebujemy Jenkinsa?
- Dla procesu CI / CD
- Procesy te mogą być zaprojektowane w sposób zautomatyzowany, koderzy zatwierdzają kod, kompilacja z odpowiednimi nowymi wersjami dokonywana jest jednym kliknięciem (uruchamianie podanych skryptów).
- Jest dobrze obsługiwany przez wtyczki typu open source i narzędzia do raportowania, takie jak Ant, Maven, Gradle, BitBucket, NodeJs itp.
Kto jest odpowiedni do nauki Jenkins -
- Każdy, kto pełni rolę DevOps, chciałby włączyć to narzędzie do automatyzacji procesu budowania.
- Początkujący programiści poszukujący kariery jako DevOps powinni wiedzieć, jak działa to narzędzie i jak możemy skonfigurować proces tworzenia kompilacji.
W jaki sposób ta technologia pomoże ci w rozwoju kariery -
- To narzędzie ewoluowało z czasem w sposób ciągły, a nowe wersje wprowadziły obsługę architektury mikrousług, jest to architektura, której należy przestrzegać we wszystkich dużych projektach, takich jak Netflix, a wszystko to będzie obsługiwane przez Jenkins w procesie budowania.
Wniosek -
Jenkins to narzędzie CI / CD, open-source, kompatybilne z różnymi wtyczkami, ułatwia życie, gdy dostarczanie oprogramowania musi odbywać się w zwinny sposób.
Polecane artykuły
To był przewodnik po tym, czym jest Jenkins. Tutaj omawialiśmy, jak to działa, zalety i rozwój kariery Jenkins. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -
- Jak zainstalować Jenkins
- Polecenia Maven
- Alternatywy JIRA
- Co to jest selen?
- Jenkins vs Hudson