Jenkins – jak zainstalować i jak zacząć działać?

Opublikowane przez Dariusz Grabowski w dniu

Chciałbyś zacząć działać z Jenkinsem ale nie wiesz od czego zacząć? A może masz jakiś pomysł na usprawnienie swojego potoku, ale nie chcesz robić tego na środowisku produkcyjnym? Przeprowadzę Cię dzisiaj przez proces instalacji własnej instancji Jenkinsa z użyciem Vagranta.

Czym jest Vagrant? To narzędzie służące do prostego i szybkiego konfigurowania środowisk deweloperskich. Jest to jedno z narzędzi zgodnych z popularnym podejściem IaaC (Infrastructure as a Code), czyli przechowywania całej konfiguracji maszyn/systemów w postaci kodu. Na podstawie pliku konfiguracyjnego, Vagrant uruchamia kontener lub maszynę wirtualną i instaluje w niej wszystkie zdefiniowane narzędzia. W pliku konfiguracyjnym używamy języka deklaratywnego. Oznacza to, że opisujemy jedynie końcowy efekt jaki chcemy osiągnąć. W naszym przypadku chcemy dzięki temu uzyskać maszynę wirtualną z zainstalowanym Jenkinsem.

Na początku opiszę proces instalacji i jego składowe, a następnie przejdziemy do działania.
Wszystkie przedstawione tutaj skrypty możesz pobrać z tego repozytorium githuba.

Konfiguracja

Rzućmy okiem na konfigurację maszyny. Składnia Vagranta jest opracowana w taki sposób, aby była zrozumiała nawet bez jego znajomości. Na poniższym listingu widzimy, że na maszynie wirtualnej uruchomi się system Ubuntu. Mamy też informację o przekierowaniu portu 8080. Jest to domyślny port interfejsu webowego Jenkinsa. Dalej konfigurujemy maszynę wirtualną, tj. dostępność interfejsu graficznego i zasobów.

Vagrant.configure("2") do |config|
    config.vm.box = "ubuntu/focal64"
    config.vm.network "forwarded_port", guest: 8080, host: 8080
    
    config.vm.provider "virtualbox" do |vb|
        vb.gui = false
        vb.cpus = 2
        vb.memory = "4096"
    end
    
    config.vm.provision "shell" do |shell|
        shell.path = "setup_master.sh"
    end
end


Na końcu uruchamiany jest skrypt shellowy (widoczny poniżej), który zainstaluje Jenkinsa. Pobiera on i instaluje wszystkie niezbędne paczki. Po zakończeniu procesu wyświetlony zostanie klucz. Będzie on nam potrzebny przy pierwszym uruchomieniu Jenkinsa.

#!/bin/bash

# tutaj instalujemy Jave z której będzie korzystać Jenkins
sudo apt-get install -y openjdk-11-jdk

# dodajemy klucz dla repozytorium paczek Jenkinsa w wersji stabilnej
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'

# instalujemy jenkinsa
sudo apt-get update
sudo apt-get install -y jenkins

# pobieramy klucz potrzebny w procesie inicjacji Jenkinsa
KEY=$(sudo cat /var/lib/jenkins/secrets/initialAdminPassword)
echo "secret key = $KEY"

W repozytorium, do tego skryptu dodałem też instalację Dockera – przyda się to nam przy bardziej zaawansowanych ćwiczeniach.

Omówiliśmy już wszystkie elementy układanki, pora wziąć się do działania.

Instalacja Jenkins

Przed przystąpieniem do wykonywania poleceń zainstaluj w systemie Vagranta i VirtualBoxa. Są dostępne wersje dla Windowsa jak i Linuksa.

Pobierz kod ze wspomnianego wcześniej repozytorium. Użyj do tego gita lub pobierz plik ZIP z interfejsu webowego. Rozpakuj pliki w dowolnym katalogu. Następnie uruchom wiersz poleceń/terminal (w Windowsie naciśnij „flagę”, wpisz „cmd” i enter) i przejdź do katalogu ze źródłami. To jedno polecenie Vagranta pobierze nam odpowiedni obraz, uruchomi go i zainstaluje w nim Jenkinsa:

vagrant up


Na ekranie powinieneś zobaczyć log z kolejnymi etapami instalacji, podobny do tego:

$ > vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/focal64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: jenkins_default_1613835068067_72193
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 8080 (guest) => 8080 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...

# tutaj sporo logów z procesu instalacji
...

   default: Setting up docker-ce-rootless-extras (5:20.10.3~3-0~ubuntu-focal) ...
    default: Processing triggers for man-db (2.9.1-1) ...
    default: Processing triggers for systemd (245.4-4ubuntu3.4) ...
    default: secret key = ae14a35719a94c52a0f7e4c3fce41c07
$ >

Gdy na końcu zobaczysz wyświetlony secret key instalacja przebiegła pomyślnie.
Teraz uruchom przeglądarkę i wpisz adres http://localhost:8080.

Jenkins instalacja - ekran powitalny


Kolejnym krokiem jest konfiguracja instancji Jenkinsa. Na ekranie powinien wyświetlić się ekran powitalny. Jako hasło administratorskie podaj secret key ze swojego logu instalacji Jenkinsa. Po kliknięciu „Kontynuuj” pojawi się pytanie o instalację wtyczek. Polecam wybrać „Zainstaluj sugerowane wtyczki„. Następnie zobaczymy proces instalacji wtyczek podobny do tego na poniższym screenie:

Jenkins instalacja wtyczek

Instalacja może potrwać 5-10 min w zależności od Twojego łącza. Następnie zostaniemy poproszeni o stworzenie konta administratorskiego. Wpisz dane według uznania i zapisz.

Na ostatnim etapie instalator zapyta nas o URL instancji Jenkinsa. Zostawiamy to bez zmian, to jest http://localhost:8080

Gratulacje! Twój Jenkins jest gotowy do pracy 🙂

Pierwszy job pipeline w Jenkins

O tym czym jest job w Jenkinsie pisałem już w tym poście. W skrócie przypomnę, że jest to zadanie, które możemy cyklicznie uruchamiać. Teraz zajmiemy się uruchomieniem Twojego pierwszego joba. Sprawdzimy w ten sposób czy wszystko działa jak należy.

Na stronie głównej Jenkinsa wybierz „Create a job”. W oknie konfiguracji wpisz dowolną nazwę dla projektu. Ja wybrałem „moj-pierwszy-job„. Jako typ joba wybierz „Pipeline” i zatwierdź OK.

Jenkins instalacja pierwszy konfiguracja pipeline

Uruchomi się ekran konfiguracji joba. Na samym dole tej strony znajdziesz pole tekstowe na wprowadzenie kodu pipeline’a. My skorzystamy z gotowego już szablonu. W prawym górnym logu tego pola znajdziesz menu rozwijane. Wybierz z niego „Hello World” a następnie kliknij „Zapisz”. Powinno to wyglądać tak jak poniżej:

Jenkins instalacja pierwszy konfiguracja pipeline

Nie pozostało teraz nic innego jak tylko kliknąć i poczekać kilka sekund na wykonanie się joba. Po uruchomieniu zobaczymy w Stage View jeden pomyślnie wykonany przebieg z napisem „Hello”.

Jenkins instalacja pierwszy uruchomiony job


Świetnie! Masz za sobą instalację Jenkinsa i uruchomienie pierwszego joba. Rozgość się, przejrzyj konfigurację i listę dostępnych pluginów. Teraz już możesz zacząć automatyzować swoje środowisko.

Jeśli chcesz teraz wyłączyć maszynę wystarczy w wierszu poleceń znów przejść do katalogu z plikiem Vagrantfile i wywołać polecenie:

vagrant halt


Chciałbyś poradnik jak skonfigurować joba dla konkretnej technologii? Koniecznie napisz o tym w komentarzu.

Kategorie: Podstawy

Subscribe
Powiadom o
guest
7 Comments
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
Wiktoria
Wiktoria
1 rok temu

Mam błąd pod czas ściągania Varganta – w consoli „Failed to load resource: the server responded with a status of 451() ” Unavailable For Legal Reasons.

Bartek
Bartek
1 rok temu
Reply to  Wiktoria

W moim przypadku rownież miałem problemy z instalacja Jenkinsa z użyciem vagranta. Podczas wykonywania komendy vagrant up nie mogłem się połączyć z wirtualną maszyną. Udało mi się rozwiązać problem w ten sposób
RUN AS ADMIN > CMD > bcdedit /set hypervisorlaunchtype off
Uruchom ponownie.
Wazne zeby pamietac ze jak skonczymy prace z vagrantem powinnismy ustawic ta komende na on i uruchomic ponownie

Mateusz
Mateusz
1 rok temu

Hej, wykoczyło mi parę błędów, z wieloma sobie poradziłem ale został mi ten jeden, pod koniec wykonywania komendy „vagrant up”. Po wielu zielonych linijkach pojawia się ostrzeżenie
„default: Warning: apt-key output should not be parsed (stdout is not a terminal)”.

Następuje kilka zielonych linijek i znów:
„default: W: GPG error: https://pkg.jenkins.io/debian-stable binary/ Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 5BA31D57EF5975CA
default: E: The repository 'https://pkg.jenkins.io/debian-stable binary/ Release’ is not signed.”

Po kolejnych zielonych liniach sytuacja powtarza się wielokrtonie. na samym końcu mam:
„default: usermod: user 'jenkins’ does not exist
default: Failed to restart jenkins.service: Unit jenkins.service not found.
default: cat: /var/lib/jenkins/secrets/initialAdminPassword: No such file or directory
Secret key = ”
i w tym miejscu output się urywa. Co może być nie tak? Używam Win10.

Konrad
Konrad
10 miesięcy temu

u mnie poszlo jak uruchomilem reczenie virtual box i ubuntu ktore juz bylo zaciagniete przez failujacy skrpyt vagrant up, po uruchomieniu virtual boxa i ubuntu i ponowym wpisaniu vagrant up wszystko ladnie poszlo i sie zainstalowalo, mam pytanie jak teraz zrobie vagrant halt to zeby ponownie uruchomic jenkinsa z moimi ustawieniami to mam wpisac jeszcze raz vagrant up?

7
0
Would love your thoughts, please comment.x