Linux Serverlarga Jenkins o'rnatish
Kirish
Jenkins - bu asosan continuous integration (CI) va continuous delivery (CD) maqsadlarida foydalaniladigan mashhur open source avtomatlashtirish serveridir. U 2004 yilda Kohsuke Kawaguchi
tomonidan "Hudson" nomi bilan yaratilgan va keyinchalik 2011 yilda "Jenkins" deb o'zgartirilgan.
U Java-da yozilgan va uning funksionalligini oshiruvchi keng ko'lamli plaginlarni qo'llab-quvvatlaydi, bu esa dasturiy ta'minot loyihalarini yaratish, sinovdan o'tkazish va joylashtirish bilan bog'liq turli vazifalarni avtomatlashtirishga mos keladi.
Jenkins turli xil operatsion tizimlarga, jumladan Linux, macOS va Windows-ga o'rnatilishi mumkin va mustaqil rejimda ishga tushirilishi yoki Apache Tomcat kabi dastur serverlarida ishga tushirilishi mumkin. U ko'p qirraliligi, kengaytirilishi va dasturiy ta'minotni ishlab chiqish life-skill ko'p jihatlarini avtomatlashtirish qobiliyati uchun barcha o'lchamdagi dasturiy ta'minotni ishlab chiqish tashkilotlarida keng qo'llaniladi.
Jenkins installerlari bir nechta Linux distributivlari uchun mavjud.
- Debian/Ubuntu
- Fedora
- Red Hat/Alma/Rocky
Talablar
Minimal qurilma talablari:
- 256 MB operativ xotira(RAM)
- 1 GB disk maydoni (agar Jenkins Docker konteynerda ishlayotgan bo'lsa, kamida 10 GB tavsiya etiladi)
Kichik jamoa uchun tavsiya etilgan qurilma konfiguratsiyasi:
- 4 GB+ RAM
- 50 GB+ disk maydoni
Jenkins o'rnatish
- Debian/Ubuntu
- Fedora
- Read Hat/Alma/Rocky
Ubuntu kabi Debian va Debian-ga asoslangan distributivlarda siz Jenkins-ni apt
orqali o'rnatishingiz mumkin.
1-> Java o'rnatish
Jenkins ishga tushirish uchun Java-ni talab qiladi, ammo ba'zi distributivlar default holda buni o'z ichiga olmaydi va ba'zi Java versiyalari Jenkins bilan mos kelmaydi.
Siz foydalanishingiz mumkin bo'lgan bir nechta Java ilovalari mavjud. OpenJDK hozirda eng ommabop, biz undan ushbu qo'llanmada foydalanamiz.
Debian apt repositoriyalarini yangilang, OpenJDK 17 ni o'rnating va buyruqlar bilan o'rnatishni tekshiring:
sudo apt update -y
sudo apt install fontconfig openjdk-17-jre -y
java -version
2-> Uzoq muddatli qo'llab-quvvatlash versiyasi(LTS Long Term Support release)
LTS (Uzoq muddatli qo'llab-quvvatlash) versiyasi har 12 haftada muntazam releaselar streamidan o'sha vaqt uchun barqaror release sifatida tanlanadi. Jenkinsni debian-stable apt repositoriyadan o'rnatish mumkin.
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
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
sudo apt-get update
sudo apt-get install jenkins -y
3-> Haftalik Release(ixtiyoriy)
Foydalanuvchilar va plaginlarni ishlab chiquvchilarga xatolarni tuzatish va xususiyatlarni(feature) yetkazib berish uchun har hafta yangi release chiqariladi. Uni debian apt repositorydan o'rnatishingiz mumkin.
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian/jenkins.io-2023.key
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins -y
4-> Jenkinsni o'rnatganimizdan keyin SystemD orqali Jenkinsni isha tushiramiz.
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins
O'rnatishdan keyingi sozlash
Yuqoridagi protseduralardan biri yordamida Jenkinsni yuklab olish, o'rnatish va ishga tushirishdan so'ng (Jenkins Operator bilan o'rnatishdan tashqari), post-installation setup wizard boshlanadi.
Ushbu wizard setup sizni Jenkins qulfini ochish, uni plaginlar bilan sozlash va Jenkins-ga kirishni davom ettirishingiz mumkin bo'lgan birinchi administrator foydalanuvchisini yaratish uchun bir necha tezkor "bir martalik("one-off")" bosqichlardan o'tadi.
1-> Jenkins qulfini ochish
Yangi Jenkins instance birinchi marta kirganingizda, uni avtomatik ravishda yaratilgan parol yordamida qulfdan chiqarish so'raladi.
2-> http://localhost:8080 (yoki uni o'rnatishda Jenkins uchun qaysi portni sozlagan bo'lsangiz) sahifasini ko'rib chiqing va Unlock Jenkins
sahifasi paydo bo'lguncha kuting.
Agar brauzer orqali 8080
portga kirolmasangiz firewallni va SElinuxni tekshirib ko'ring.
ufw
uchun
sudo ufw allow 8080
sudo ufw reload
sudo ufw status
firewalld
uchun
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Agar sizda SElinux
bo'lsa uni tekshiring.
sudo getenforce
sudo setenforce 0
2-> Default jenkins admin parolni ko'rish uchun jenkins parol qayerda turganini ko'rsatib parol fayliga yo'l ko'rsatib qo'yadi yani /var/lib/jenkins/secrets/initialAdminPassword
. parolni olish quyidagi buyruqdan foydalanamiz.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Bu buyruq sudo cat /var/lib/jenkins/secrets/initialAdminPassword
parolni konsolda chiqaradi.
Terminaldan 32 belgidan iborat alphanumeric paroldan nusxa oling va uni Administrator paroli maydoniga joylashtiring, so'ng Continue
tugmasini bosing.
Keyingi ekranda tavsiya etilgan plaginlarni o'rnatish yoki maxsus plaginlarni tanlash imkoniyati mavjud:
3-> Biz suggested plugins
opsiyasini bosamiz, bu darhol o'rnatish jarayonini boshlaydi.
4-> O'rnatish tugallangach, sizdan birinchi Admin User
o'rnatish so'raladi. Bu bosqichni o'tkazib yuborish va yuqoridagi boshlang'ich parol yordamida administrator sifatida davom etish mumkin, lekin foydalanuvchi yaratishga biroz vaqt ajratamiz.
5-> Siz Jenkins instance uchun afzal qilingan URL manzilini tasdiqlashingizni so'raydigan Instance Configuration sahifasini olasiz. Serveringiz uchun domen nomini yoki serveringizning IP manzilini tasdiqlang:
6-> Tegishli ma'lumotlarni tasdiqlaganingizdan so'ng, Save and Finish
tugmasini bosing. Siz "Jenkins is Ready!"
degan tasdiqlash sahifasini olasiz:
7-> Asosiy Jenkins boshqaruv paneliga tashrif buyurish uchun Start using Jenkins
tugmasini bosing:
Shu nuqtada siz Jenkins-ni muvaffaqiyatli o'rnatdingiz.
Qo'shimcha
Foydalanilgan manbalar: www.jenkins.io (opens in a new tab)
Qo'shimcha Resurslar
- Koddan Servergacha: Jenkins bilan Docker CI/CD va Discord bilan integratsiya (opens in a new tab)
- Gitlab Server o'rnatish va sozlash (opens in a new tab)
- Github Actions CI/CD (opens in a new tab)
- Github Actions bilan Anroid CI/CD (opens in a new tab)
- Github Actions bilan Flutter CI/CD (opens in a new tab)
- Gitlab CI | Releaselar va Integrationlar (opens in a new tab)
- Kubernetes CI/CD | GitHub Actions + Argo CD | GitOps (opens in a new tab)
Sana: 2023.11.19(2023-yil 19-noyabr)
Oxirgi yangilanish: 2024.12.26(2024-yil 26-dekabr)
Muallif: Otabek Ismoilov
Telegram (opens in a new tab) | Github (opens in a new tab) | LinkedIn (opens in a new tab) |
---|