Przewodnik krok po kroku: instalacja Jenkinsa.
Ten artykuł ma na celu przedstawienie procesu instalacji Jenkinsa na różnych systemach operacyjnych.
Chociaż poszczególne etapy instalacji mogą się nieznacznie różnić w zależności od systemu, konfiguracja samego Jenkinsa pozostaje zasadniczo taka sama.
Czym właściwie jest Jenkins?
Jenkins to otwarte oprogramowanie służące do automatyzacji, które ułatwia programistom realizację projektów i aplikacji. Umożliwia budowanie i wdrażanie oprogramowania, zapewniając potężną platformę do ciągłej integracji i ciągłego dostarczania, niezależnie od używanej platformy.
Jenkins, będąc aplikacją Java, może działać na dowolnym komputerze z zainstalowanym środowiskiem Java Runtime Environment (JRE).
Jeśli chcesz zgłębić tajniki Jenkinsa, warto rozważyć ten kurs online, który wprowadzi Cię w świat Jenkinsa od podstaw.
Wymagania wstępne
Niezbędne jest posiadanie zainstalowanego JDK w wersji 8 lub wyższej. Jeśli go nie masz, możesz pobrać odpowiedni pakiet z tej strony.
Instalacja Jenkinsa w systemie Windows
Po instalacji i konfiguracji JDK możesz przejść do pobrania i zainstalowania Jenkinsa. Najnowszy pakiet MSI dla systemu Windows znajdziesz tutaj.
- Uruchom instalator (plik jenkins.msi) poprzez dwukrotne kliknięcie.
- Postępuj zgodnie z instrukcjami, klikając „Dalej”, a następnie „Zainstaluj”.
- Możesz zmienić folder instalacyjny, klikając „Zmień”. Jeśli chcesz zachować domyślną ścieżkę, kliknij „Dalej”.
- Po zakończeniu procesu instalacji, kliknij „Zakończ”.
Instalacja Jenkinsa w systemie Windows jest tak samo prosta jak instalacja większości innych programów.
Instalacja Jenkinsa na Ubuntu
Upewnij się, że masz zainstalowane JDK 8 lub nowsze na swoim komputerze z systemem Ubuntu. Jeśli nie, skorzystaj z poniższego polecenia, aby zainstalować wymagany pakiet:
sudo apt install default-jdk-headless
[email protected]:~$ sudo apt install default-jdk-headless Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: default-jdk-headless 0 upgraded, 1 newly installed, 0 to remove and 102 not upgraded. Need to get 1132 B of archives. After this operation, 6144 B of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 default-jdk-headless amd64 2:1.11-68ubuntu1~18.04.1 [1132 B] Fetched 1132 B in 2s (676 B/s) Selecting previously unselected package default-jdk-headless. (Reading database ... 30061 files and directories currently installed.) Preparing to unpack .../default-jdk-headless_2%3a1.11-68ubuntu1~18.04.1_amd64.deb ... Unpacking default-jdk-headless (2:1.11-68ubuntu1~18.04.1) ... Setting up default-jdk-headless (2:1.11-68ubuntu1~18.04.1) ... [email protected]:~$
Aby zweryfikować, czy Java została poprawnie zainstalowana, wpisz:
wersja java
[email protected]:~$ java -version openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing) [email protected]:~$
Po upewnieniu się, że Java jest zainstalowana, można przejść do instalacji Jenkinsa.
Etapy instalacji:
Krok 1: Uruchom terminal (Ctrl + Alt + T).
Krok 2: Dodaj klucz repozytorium Jenkinsa do swojego systemu:
wget -q -O – http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add –
[email protected]:~$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - OK [email protected]:~$
Krok 3: Po dodaniu klucza, dołącz adres repozytoriów pakietów Debiana:
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins .list’
Krok 4: Zaktualizuj pakiety w systemie Ubuntu:
aktualizacja sudo apt
[email protected]:~$ sudo apt update Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Ign:3 http://pkg.jenkins-ci.org/debian-stable binary/ InRelease Get:4 http://pkg.jenkins-ci.org/debian-stable binary/ Release [2044 B] Get:5 http://pkg.jenkins-ci.org/debian-stable binary/ Release.gpg [195 B] Get:6 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [8570 kB] Get:8 http://pkg.jenkins-ci.org/debian-stable binary/ Packages [17.6 kB] Get:9 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:10 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [748 kB] Get:11 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [237 kB] Get:12 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [50.8 kB] Get:13 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [12.3 kB] Get:14 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [673 kB] Get:15 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [223 kB] Get:16 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [7808 B] Get:17 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2856 B] Get:18 http://archive.ubuntu.com/ubuntu bionic/universe Translation-en [4941 kB] Get:19 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [151 kB] Get:20 http://archive.ubuntu.com/ubuntu bionic/multiverse Translation-en [108 kB] Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [969 kB] Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [329 kB] Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [60.5 kB] Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [14.7 kB] Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1085 kB] Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [337 kB] Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [15.9 kB] Get:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [6420 B] Get:29 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [7516 B] Get:30 http://archive.ubuntu.com/ubuntu bionic-backports/main Translation-en [4764 B] Get:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [7484 B] Get:32 http://archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [4436 B] Fetched 18.8 MB in 58s (327 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 102 packages can be upgraded. Run 'apt list --upgradable' to see them. [email protected]:~$
Krok 5: Zainstaluj Jenkinsa:
sudo apt install jenkins
[email protected]:~$ sudo apt install jenkins Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: daemon The following NEW packages will be installed: daemon jenkins 0 upgraded, 2 newly installed, 0 to remove and 102 not upgraded. Need to get 65.7 MB of archives. After this operation, 66.8 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 daemon amd64 0.6.4-1build1 [99.5 kB] Get:2 http://pkg.jenkins-ci.org/debian-stable binary/ jenkins 2.235.1 [65.6 MB] Fetched 65.7 MB in 3min 34s (307 kB/s) Selecting previously unselected package daemon. (Reading database ... 29242 files and directories currently installed.) Preparing to unpack .../daemon_0.6.4-1build1_amd64.deb ... Unpacking daemon (0.6.4-1build1) ... Selecting previously unselected package jenkins. Preparing to unpack .../jenkins_2.235.1_all.deb ... Unpacking jenkins (2.235.1) ... Setting up daemon (0.6.4-1build1) ... Setting up jenkins (2.235.1) ... invoke-rc.d: could not determine current runlevel Processing triggers for systemd (237-3ubuntu10.39) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for ureadahead (0.100.0-21) ... [email protected]:~$
Jenkins został zainstalowany. Uruchom serwer Jenkins:
Krok 6: Uruchom Jenkinsa za pomocą polecenia systemctl:
sudo systemctl start jenkins
Ponieważ `systemctl` nie wyświetla żadnych danych, możesz sprawdzić status serwera za pomocą:
sudo systemctl status jenkins
[email protected]:~$ sudo systemctl status jenkins ● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Sat 2020-04-04 10:10:19 UTC; 2 months 16 days ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 4915) CGroup: /system.slice/jenkins.service Apr 04 10:10:18 ip-172-31-17-25 systemd[1]: Starting LSB: Start Jenkins at boot time... Apr 04 10:10:18 ip-172-31-17-25 jenkins[1984]: Correct java version found Apr 04 10:10:18 ip-172-31-17-25 jenkins[1984]: * Starting Jenkins Automation Server jenkins Apr 04 10:10:18 ip-172-31-17-25 su[2037]: Successful su for root by root Apr 04 10:10:18 ip-172-31-17-25 su[2037]: + ??? root:root Apr 04 10:10:18 ip-172-31-17-25 su[2037]: pam_unix(su:session): session opened for user root by (uid=0) Apr 04 10:10:18 ip-172-31-17-25 jenkins[1984]: mesg: ttyname failed: Inappropriate ioctl for device Apr 04 10:10:18 ip-172-31-17-25 su[2037]: pam_unix(su:session): session closed for user root Apr 04 10:10:19 ip-172-31-17-25 jenkins[1984]: ...done. Apr 04 10:10:19 ip-172-31-17-25 systemd[1]: Started LSB: Start Jenkins at boot time. [email protected]:~$
Krok 7: Skonfiguruj port (opcjonalnie):
Jenkins domyślnie działa na porcie 8080, więc należy go udostępnić, jeśli nie jest dostępny.
Otwórz port za pomocą:
sudo ufw zezwalaj na 8080
Status portu można sprawdzić za pomocą:
status sudo ufw
[email protected]:~$ sudo ufw status Status: active To Action From -- ------ ---- 8080 ALLOW Anywhere 8080 (v6) ALLOW Anywhere (v6) [email protected]:~$
Jeśli zapora jest nieaktywna, najpierw uruchom:
sudo ufw zezwalaj na OpenSSH
a następnie:
włącz sudo ufw
Instalacja Jenkinsa na CentOS
Upewnij się, że masz zainstalowane JDK 8 lub nowsze. Jeśli nie, wykonaj poniższe polecenie, aby zainstalować pakiet OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
[[email protected] ~]$ sudo yum install java-1.8.0-openjdk-devel CentOS-8 - AppStream 1.0 kB/s | 4.3 kB 00:04 CentOS-8 - AppStream 397 kB/s | 5.8 MB 00:14 CentOS-8 - Base 3.5 kB/s | 3.9 kB 00:01 CentOS-8 - Extras 547 B/s | 1.5 kB 00:02 Jenkins-stable 6.5 kB/s | 2.9 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.252.b09-3.el8_2 AppStream 9.8 M Transaction Summary ================================================================================ Install 1 Package Total download size: 9.8 M Installed size: 41 M Is this ok [y/N]: y Downloading Packages: java-1.8.0-openjdk-devel-1.8.0.252.b09-3.el8_2. 531 kB/s | 9.8 MB 00:18 -------------------------------------------------------------------------------- Total 507 kB/s | 9.8 MB 00:19 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86 1/1 Running scriptlet: java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86 1/1 Verifying : java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86 1/1 Installed products updated. Installed: java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86_64 Complete! [[email protected] ~]$
Aby potwierdzić, że Java została zainstalowana, użyj polecenia:
java -version
[[email protected] ~]$ java -version openjdk version "1.8.0_252" OpenJDK Runtime Environment (build 1.8.0_252-b09) OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode) [[email protected] ~]$
Po zainstalowaniu Javy, przejdź do instalacji Jenkinsa.
Kroki instalacji:
Krok 1: Uruchom terminal.
Krok 2: Pobierz i dodaj klucz GPG Jenkins:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
[[email protected] ~]$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo --2020-06-21 04:29:52-- http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo Resolving pkg.jenkins-ci.org (pkg.jenkins-ci.org)... 52.202.51.185, 64:ff9b::34ca:33b9 Connecting to pkg.jenkins-ci.org (pkg.jenkins-ci.org)|52.202.51.185|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 85 Saving to: ‘/etc/yum.repos.d/jenkins.repo’ /etc/yum.repos.d/je 100%[==================>] 85 --.-KB/s in 0s 2020-06-21 04:29:54 (2.61 MB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85] [[email protected] ~]$
Krok 3: Zaimportuj klucz GPG Jenkins:
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
Krok 4: Zaktualizuj pakiety CentOS:
sudo yum update
[[email protected] ~]$ sudo yum update Last metadata expiration check: 0:17:09 ago on Sun 21 Jun 2020 04:21:20 AM PDT. Dependencies resolved. Nothing to do. Complete! [[email protected] ~]$
Krok 5: Zainstaluj Jenkinsa:
sudo yum install jenkins
[[email protected] ~]$ sudo yum install jenkins Last metadata expiration check: 0:19:26 ago on Sun 21 Jun 2020 04:21:20 AM PDT. Dependencies resolved. =============================================================================== Package Architecture Version Repository Size =============================================================================== Installing: jenkins noarch 2.235.1-1.1 jenkins 63 M Transaction Summary =============================================================================== Install 1 Package Total download size: 63 M Installed size: 63 M Is this ok [y/N]: y Downloading Packages: jenkins-2.235.1-1.1.noarch.rpm 172 kB/s | 63 MB 06:16 ------------------------------------------------------------------------------- Total 172 kB/s | 63 MB 06:16 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: jenkins-2.235.1-1.1.noarch 1/1 Installing : jenkins-2.235.1-1.1.noarch 1/1 Running scriptlet: jenkins-2.235.1-1.1.noarch 1/1 Verifying : jenkins-2.235.1-1.1.noarch 1/1 Installed products updated. Installed: jenkins-2.235.1-1.1.noarch Complete! [[email protected] ~]$
Krok 6: Uruchom Jenkinsa za pomocą systemctl:
sudo systemctl start jenkins
Sprawdź status serwera Jenkins:
sudo systemctl status jenkins
[[email protected] ~]$ sudo systemctl status jenkins [sudo] password for newsblog.pl: ● jenkins.service - LSB: Jenkins Automation Server Loaded: loaded (/etc/rc.d/init.d/jenkins; generated) Active: active (running) Docs: man:systemd-sysv-generator(8) Jun 20 11:15:22 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automa> Jun 20 11:15:23 localhost.localdomain runuser[1456]: pam_unix(runuser:session)> Jun 20 11:15:33 localhost.localdomain jenkins[1433]: Starting Jenkins [ OK ] Jun 20 11:15:33 localhost.localdomain systemd[1]: Started LSB: Jenkins Automat> Jun 21 04:23:04 localhost.localdomain systemd[1]: Stopping LSB: Jenkins Automa> [[email protected] ~]$
Krok 7: Skonfiguruj port (opcjonalnie):
Jenkins domyślnie działa na porcie 8080, więc musisz go udostępnić, jeśli nie jest dostępny. Otwórz port:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
[[email protected] ~]$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp success [[email protected] ~]$
Przeładuj ustawienia zapory:
sudo firewall-cmd --reload
[[email protected] ~]$ sudo firewall-cmd --reload success [[email protected] ~]$
Konfiguracja Jenkinsa
Po zakończeniu instalacji Jenkins będzie dostępny pod adresem http://localhost:8080. Otwórz go w swojej przeglądarce.
Krok 1: Otwórz http://localhost:8080.
Krok 2: Skopiuj hasło administratora z pliku znajdującego się w lokalizacji:
C:Program Files (x86)JenkinssecretsinitialAdminPassword (dla Windows)
/var/lib/jenkins/secrets/initialAdminPassword (dla Linux)
Wklej je do pola Hasło administratora i kliknij Kontynuuj.
Krok 3: Możesz zainstalować sugerowane wtyczki lub wybrać te, które są Ci potrzebne. W tym przykładzie zainstalujemy sugerowane wtyczki.
Krok 4: Poczekaj, aż wszystkie wtyczki zostaną zainstalowane, a następnie kliknij „Kontynuuj”.
Krok 5: Utwórz profil administratora dla Jenkinsa. Wypełnij wymagane pola i kliknij „Zapisz i kontynuuj”.
Krok 6: Jeśli chcesz, zmień adres URL Jenkinsa. Pozostawmy domyślny adres http://localhost:8080. Kliknij „Zapisz i zakończ”, a następnie „Zacznij korzystać z Jenkins”.
Konfiguracja została zakończona i zobaczysz domyślną stronę powitalną Jenkinsa.
Proces konfiguracji Jenkinsa jest podobny dla wszystkich systemów operacyjnych. Jedyną różnicą jest krok 2, gdzie trzeba pobrać i wprowadzić hasło administratora, które znajduje się w pliku, którego lokalizacja zależy od systemu.
Podsumowanie
Powyżej przedstawiono kroki, które należy wykonać, aby zainstalować Jenkinsa w wybranym systemie operacyjnym. Następnym krokiem jest poznanie procesu tworzenia pierwszych potoków Jenkinsa.
Instalacja Jenkinsa jest prosta. Jeśli konfigurujesz środowisko dla zespołu zdalnego, możesz samodzielnie zainstalować Jenkinsa na maszynie wirtualnej w chmurze, lub wybrać platformę hostingową Jenkins.