Як встановити Jenkins на Windows, Ubuntu і CentOS?

Покроковий посібник із встановлення Jenkins.

У цій статті ми дізнаємося, як інсталювати Jenkins на наступних операційних системах.

Для всіх наведених вище операційних систем кроки встановлення Jenkins дещо відрізняються, але етапи налаштування однакові.

Що таке Дженкінс?

Дженкінс це інструмент автоматизації створення з відкритим вихідним кодом для розробників, який працює над проектами та програмами. Він використовується для створення та розгортання програмного забезпечення та додатків. Це потужна програма для автоматизації, яка забезпечує постійну інтеграцію та постійну реалізацію проектів незалежно від платформи, на якій ви працюєте.

Оскільки Jenkins — це програма Java, вона працює автономно на будь-якій машині, де встановлено середовище виконання Java (JRE).

Якщо ви хочете вивчити Дженкінса, то перегляньте це онлайн курс стати героєм з нуля.

Передумова

JDK8+ є обов’язковим для всіх операційних систем. Отже, спочатку нам потрібно встановити JDK8 або новішу версію. Ви можете завантажити та встановити його звідси.

Інсталяція Jenkins у Windows

Після встановлення та запуску JDK ми готові завантажити та інсталювати Jenkins. Натисніть тут щоб завантажити найновіший пакет Jenkins MSI для Windows.

  • Двічі клацніть файл jenkins.msi, щоб розпочати встановлення.
  • Натисніть «Далі», а потім установіть

  • Натисніть кнопку Змінити, якщо ви хочете встановити його в інший каталог. У цьому прикладі ми збережемо параметр за замовчуванням, натисніть «Далі».

  • Після завершення процесу встановлення натисніть кнопку «Готово», щоб завершити встановлення.

Як бачите, встановити 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]:~$

Після встановлення 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

[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, виконайте наведену нижче команду

  Як використовувати Caps Lock як клавішу-модифікатор у Windows

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 не показує результат, тому ми можемо перевірити статус за допомогою наведеної нижче команди. За допомогою цієї команди ми можемо перевірити, активний Jenkins чи ні.

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]:~$

Крок 6: Налаштування порту (необов’язково)

  Виправлення Не вдалося створити віртуальну машину Java у Windows 10

За замовчуванням Jenkins працює на порту 8080, і нам потрібно зробити цей порт доступним звідусіль (якщо він недоступний).

Давайте відкриємо порт:

sudo ufw allow 8080

Ми можемо перевірити стан порту за такою командою:

статус sudo ufw

[email protected]:~$ sudo ufw status 
Status: active 
To           Action           From
--           ------           ---- 
8080         ALLOW            Anywhere 
8080 (v6)    ALLOW            Anywhere (v6) 
[email protected]:~$

Якщо статус брандмауера неактивний, виконайте наступну команду, інакше вона не потрібна

sudo ufw дозволяє OpenSSH

а потім

увімкнути sudo ufw

Встановлення Jenkins на CentOS

Спочатку переконайтеся, що JDK8+ інстальовано та запущено на машині. Якщо його не встановлено, виконайте наведену нижче команду, щоб інсталювати пакет 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] ~]$

Після встановлення Jenkins ми готові до встановлення.

Етапи встановлення

Крок 1: спочатку відкрийте командний термінал

Крок 2: Щоб інсталювати Jenkins, спочатку нам потрібно завантажити та додати ключ Jenkins GPG:

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: Після завантаження та додавання ключа Jenkins GPS перейдіть до наступного імпорту ключа Jenkins GPG:

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: Після оновлення пакетів centos ми готові до встановлення, 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

Оскільки systemctl не показує результат, ви можете перевірити статус за допомогою наведеної нижче команди. І за допомогою цієї команди ви можете перевірити, активний 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: Налаштування порту (необов’язково)

  Куди поділася настільна програма Skype для Windows 10?

За замовчуванням Jenkins працює на порту 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. Щоб розблокувати Jenkins, скопіюйте пароль адміністратора з файлу, розташованого за адресою

C:Program Files (x86)JenkinssecretsinitialAdminPassword

/var/lib/jenkins/secrets/initialAdminPassword

Тепер вставте його в Пароль адміністратора поле. Потім натисніть Продовжити кнопку.

Крок 3. Ви можете встановити або запропоновані плагіни, або ви можете вибрати плагіни залежно від вашого випадку використання. Тут ми встановимо запропоновані плагіни.

Крок 4: зачекайте, доки всі плагіни будуть встановлені. Після завершення інсталяції натисніть «Продовжити».

Крок 5: Створіть профіль адміністратора для Jenkins. Введіть необхідні дані та натисніть «Зберегти та продовжити».

Крок 6: ми можемо змінити URL-адресу Дженкінса, якщо потрібно, залишимо її за замовчуванням http://localhost:8080. Натисніть «Зберегти та завершити», щоб завершити процес налаштування. Тепер натисніть «Почати використання Jenkins».

Нарешті, процес конфігурації завершено, і вищезазначене є типовим, Ласкаво просимо до Jenkins! сторінки.

Етап конфігурації Jenkins подібний для всіх ОС, за винятком кроку 2, де нам потрібно отримати та ввести пароль адміністратора. Цей пароль можна отримати з файлу, збереженого за шляхом, указаним у Unlock Jenkins UI.

Висновок

Отже, вище були описані кроки для встановлення Jenkins на вашу улюблену ОС. Далі дізнайтеся, як створити свої перші конвеєри Дженкінса.

Встановлення Jenkins просте, і якщо ви налаштовуєтеся для віддаленої команди, ви можете придбати хмарну віртуальну машину та встановити її самостійно або вибрати платформу хостингу Jenkins.