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
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x