Детальна інструкція зі встановлення Jenkins
В цій статті ми розглянемо процес інсталяції Jenkins на різних операційних системах.
Хоча методи встановлення можуть трохи відрізнятися залежно від ОС, загальні принципи налаштування залишаються ідентичними.
Що таке Jenkins?
Jenkins – це інструмент автоматизації з відкритим кодом, призначений для розробників програмного забезпечення. Він автоматизує процеси створення, тестування та розгортання програм. Це потужна платформа для безперервної інтеграції та доставки, яка підтримує різноманітні операційні системи.
Jenkins, як додаток на Java, може працювати автономно на будь-якому комп’ютері, де встановлене Java Runtime Environment (JRE).
Якщо ви зацікавлені в освоєнні Jenkins, рекомендуємо онлайн-курс для новачків.
Необхідні умови
Для всіх операційних систем потрібна наявність JDK версії 8 або новішої. Тому спершу необхідно інсталювати JDK8 або новішу версію. Завантажити її можна тут.
Інсталяція Jenkins у Windows
Після успішного встановлення JDK можна завантажити та встановити Jenkins. Перейдіть сюди, щоб отримати останній MSI-пакет Jenkins для Windows.
- Запустіть інсталяційний файл jenkins.msi, двічі клацнувши на ньому.
- Натисніть “Далі”, потім “Встановити”.
- Якщо ви бажаєте встановити Jenkins у іншу директорію, натисніть “Змінити”. В іншому випадку, натисніть “Далі”, щоб продовжити зі стандартними параметрами.
- Після завершення інсталяції, натисніть “Готово”.
Встановлення Jenkins у Windows є доволі простим, як і інсталяція будь-якого іншого стандартного програмного забезпечення.
Інсталяція Jenkins на Ubuntu
Як вже згадувалося, спочатку переконайтеся, що JDK8+ встановлено на вашій системі Ubuntu. Якщо ні, скористайтеся наступною командою для встановлення:
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]:~$
Щоб перевірити, чи Java встановлена успішно, виконайте команду:
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]:~$
Тепер, коли Java встановлена, ми можемо переходити до встановлення Jenkins.
Інструкції зі встановлення
Крок 1: Відкрийте термінал (Ctrl + Alt + T).
Крок 2: Щоб інсталювати Jenkins, додайте ключ репозиторію до системи:
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]:~$
Крок 3: Додайте адресу репозиторію Debian до вашої системи:
sudo sh -c ‘echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’
Крок 4: Оновіть пакети Ubuntu:
sudo apt update
[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]:~$
Крок 5: Встановіть Jenkins за допомогою наступної команди:
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 успішно встановлено. Тепер можна запустити сервер Jenkins.
Крок 6: Запустіть Jenkins за допомогою команди systemctl:
sudo systemctl start jenkins
Команда systemctl не виводить результату, тому для перевірки статусу використовуйте команду:
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]:~$
Крок 7: Налаштування порту (необов’язково)
За замовчуванням Jenkins використовує порт 8080. Якщо необхідно, відкрийте цей порт:
sudo ufw allow 8080
Перевірити статус порту можна за допомогою:
sudo ufw status
[email protected]:~$ sudo ufw status Status: active To Action From -- ------ ---- 8080 ALLOW Anywhere 8080 (v6) ALLOW Anywhere (v6) [email protected]:~$
Якщо брандмауер неактивний, виконайте команду:
sudo ufw allow OpenSSH
потім:
sudo ufw enable
Встановлення Jenkins на CentOS
Переконайтеся, що на вашій системі встановлено JDK версії 8 або вище. Якщо ні, встановіть пакет 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] ~]$
Для перевірки, чи Java встановилась, скористайтеся командою:
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] ~]$
Після встановлення Java можна переходити до встановлення Jenkins.
Інструкції зі встановлення
Крок 1: Відкрийте командний термінал.
Крок 2: Щоб встановити Jenkins, спочатку необхідно завантажити та додати 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] ~]$
Крок 3: Імпортуйте GPG-ключ Jenkins:
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
Крок 4: Оновіть пакети 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] ~]$
Крок 5: Встановіть Jenkins:
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] ~]$
Крок 6: Запустіть Jenkins за допомогою systemctl:
sudo systemctl start jenkins
Перевірте статус запуску за допомогою команди:
sudo systemctl status jenkins
[[email protected] ~]$ sudo systemctl status jenkins [sudo] password for techukraine.net: ● 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] ~]$
Крок 7: Налаштуйте порт (необов’язково)
Відкрийте порт 8080, якщо він недоступний:
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] ~]$
Перезавантажте брандмауер:
sudo firewall-cmd --reload
[[email protected] ~]$ sudo firewall-cmd --reload success [[email protected] ~]$
Налаштування Jenkins
Після встановлення Jenkins буде працювати на порту 8080. Відкрийте в браузері адресу http://localhost:8080, щоб налаштувати його.
Крок 1: Перейдіть за адресою http://localhost:8080
Крок 2: Скопіюйте пароль адміністратора з файлу:
C:Program Files (x86)JenkinssecretsinitialAdminPassword (для Windows)
/var/lib/jenkins/secrets/initialAdminPassword (для Linux)
Вставте пароль у поле “Пароль адміністратора” та натисніть “Продовжити”.
Крок 3: Виберіть, які плагіни ви хочете встановити: запропоновані або вибрати самостійно. У цьому прикладі виберемо запропоновані.
Крок 4: Дочекайтеся встановлення плагінів. Натисніть “Продовжити” після завершення.
Крок 5: Створіть обліковий запис адміністратора. Введіть необхідні дані та натисніть “Зберегти та продовжити”.
Крок 6: Залиште URL-адресу Jenkins як http://localhost:8080 або змініть її, якщо потрібно. Натисніть “Зберегти та завершити”, а потім “Почати використовувати Jenkins”.
Налаштування завершено. Вас привітає сторінка Jenkins.
Процес налаштування Jenkins подібний для всіх ОС, крім кроку 2, де потрібно ввести пароль адміністратора. Його можна знайти в файлі за вказаним шляхом.
Висновок
Ми розглянули процес встановлення Jenkins на різних операційних системах. Наступним кроком буде створення вашого першого конвеєра Jenkins.
Встановлення Jenkins є досить простим. Для віддаленої команди можна створити віртуальну машину в хмарі або використовувати платформу хостингу Jenkins.