Як встановити Jenkins на Ubuntu 22.04: детальний гайд

Jenkins — «Міцний горішок» серед відкритих інструментів DevOps для CI/CD. Він виловлює помилки при збірках, навіть якщо ви дуже старались їх не допустити.

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

З Jenkins ви зможете налаштувати середовище безперервної інтеграції та безперервного доставлення для будь-якого поєднання мов та репозиторіїв вихідного коду за допомогою конвеєрів. 

ПЗ підтримує Slack, щоб полегшити співпрацю у робочому середовищі, а також пропонує понад 1500 плагінів для різних програм. 

Ми вже розповідали, як встановити Jenkins на Rocky Linux. Тепер покажемо, як це зробити на Ubuntu 22.04.

Що треба для встановлення Jenkins

Для того, щоб все вийшло, потрібно: 

  • Сервер із Ubuntu 22.04
  • Користувач sudo без права root
  • SSH-доступ до сервера
  • Доступ до командного рядка Ubuntu
  • Принаймні 256 МБ оперативної пам’яті
  • 4+ ГБ оперативної пам’яті для групового використання
  • 1 ГБ дискового простору для індивідуального використання або 10 ГБ, якщо Jenkins працює в контейнері Docker
  • 50+ ГБ дискового простору для групового використання
  • Java Development Kit 8 або 11
  • NGINX або Apache, встановлений та налаштований на сервері Ubuntu

Якщо на цьому етапі все добре, почнімо встановлювати Jenkins.

Крок 1. Встановлюємо Jenkins

Середовище Java

Спершу перевірте, чи ваша система має останнє оновлення Ubuntu. Для цього виконайте команди в терміналі:

sudo apt-get update
sudo apt-get upgrade

Можливо, що Java вже є у вашій системі. Перевірмо: 

java -version

Якщо отримаєте такий результат, то її треба встановити:

Якщо ж у системі є Java версії 8 або 11, переходьте безпосередньо до завантаження Jenkins.

Встановлюємо Java Runtime Environment (JRE). У цьому гайді для середовища Java ми використовуємо OpenJDK — набір ПЗ для розробки, що його включає.

Jenkins підтримує JRE 8 та 11. Встановлюємо Java 11 за допомогою команди: 

sudo apt-get install openjdk-11-jdk

Перевіримо, чи ми встановили правильну версію:

java -version

У виводі маємо побачити OpenJDK 11 версії.

Jenkins

Jenkins є у репозиторії Ubuntu, проте краще встановлювати його з того, що підтримує проєкт. Причина проста: у репозиторії Ubuntu за замовчуванням може бути не остання версія ПЗ. Ви не матимете всіх функцій або вона буде з помилками. А нам з вами півміри не підходять. Ось як зробити все на вищому рівні.

Спершу імпортуємо ключ GPG, що перевірить цілісність пакета:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null

Потім вводимо:

echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

Ця команда додасть стабільний випуск довгострокової підтримки (LTS) до списку джерел, проте не дасть виводу. Щоб застосувати зміни, виконайте:

sudo apt-get update

Тепер встановлюємо Jenkins:

sudo apt install jenkins

Готово. Йдемо далі.

Крок 2. Запускаємо Jenkins

Щоб запустити Jenkins, введіть команду:

sudo systemctl start jenkins.service

Переконаймося, що на цьому етапі все йде за планом:

sudo systemctl status jenkins

Якщо все добре, то у відповідному полі ви побачите, що сервіс активний — active (running). 

Натисніть Ctrl+Z, щоб вийти з екрана стану.

У випадку, якщо сервіс неактивний, виконайте таку команду:

sudo systemctl enable --now jenkins

Крок 3. Відкриваємо брандмауер

Jenkins за замовчуванням використовує порт 8080. Щоб переконатися, що він доступний, налаштуймо правила брандмауера за допомогою UFW.

Для цього виконайте команду: 

sudo ufw allow 8080

Якщо все нормально, ви побачите повідомлення про те, що правила оновилися. 

Далі підключаємо UFW: 

sudo ufw enable

Та одразу перевіряємо статус:

sudo ufw status

У виводі бачимо, що порт 8080 очікує нових з’єднань. 

💡Якщо ви використовуєте іншу програму брандмауера, дотримуйтесь її інструкцій, щоб дозволити трафік через порт 8080.

Крок 4. Налаштовуємо Jenkins

Залишилось налаштувати сервіс. Відкрийте веббраузер і перейдіть до IP-адреси вашого сервера. Синтаксис:

http://ip_address_or_domain:8080

Вкажіть фактичну IP-адресу або ім’я домену для сервера, на якому ви запускаєте Jenkins. Наприклад, якщо використовуєте його локально, вкажіть localhost (127.0.0.1):

http://localhost:8080

З’явиться сторінка, що запропонує розблокувати Jenkins. Щоб це зробити, вам треба отримати пароль адміністратора. Виконайте в терміналі команду: 

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Введіть цей код у поле «Password» та тисніть «Continue».

Далі ви зможете встановити плагіни, що пропонує програма або обрати їх самостійно. Поки можете встановити запропоновані та додати необхідні вам плагіни пізніше.

Так виглядатиме завантаження. Після цього необхідно буде створити першого адміністратора.

Введіть дані, що хочете використовувати для Jenkins та натисніть «Save and Continue».

Далі налаштовуємо конфігурацію інстансу Jenkins. Потрібно підтвердити бажану URL-адресу для нього. Швидше за все, це та сама адреса, яку ви до цього вводили у браузері, щоб перейти на сторінку конфігурації. 

Натисніть «Save and Finish».

Супер. Тепер має відкритися сторінка з повідомленням, що Jenkins готовий. Тисніть «Start using», щоб відкрити інформаційну панель сервісу.

Вона виглядатиме так:

Висновок

От і все! Це був детальний гайд, з яким ви можете встановлювати та налаштовувати популярний інструмент CI/CD — Jenkins. Попереду — автоматизація конвеєра. Проте не варто забувати й про безпеку. Дізнайтесь, як захистити дані у Jenkins, щоб більше убезпечити проєкт.

Якщо хочете покращити свої навички роботи з різними технологіями та інструментами, вам можуть стати в пригоді наші курси рівня DevOps. Docker, Kubernetes, AWS та Ansible — неповний перелік того, чого ми можемо навчити.

Бажаємо професійних успіхів 😉

Залишити відповідь

Дякуємо, що поділились