Як встановити 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 — неповний перелік того, чого ми можемо навчити.
Бажаємо професійних успіхів 😉