Yazıya Jenkins nedir? Ne için kullanılır? sorularına cevap vererek başlayalım.
Jenkins, Java programlama dilinde yazılmış, açık kaynaklı, sürekli entegrasyon/sürekli teslim ve dağıtım (CI/CD) otomasyon yazılımı, DevOps aracıdır. DevOps dünyasında vazgeçilmez bir araç haline gelmiştir. Kuruluma başlayalım.
- Java (JDK) yükleme
apt install openjdk-11-jdk
Java’nın doğru şekilde yüklendiğine emin olmak için:
java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
2. Jenkins repository ekleme
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
3. Jenkins’i yükleme
apt update
apt install jenkins
Jenkins’in doğru şekilde yüklendiğine emin olmak için:
systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Mon 2021-09-13 23:30:10 UTC; 9min ago
Docs: man:systemd-sysv-generator(8)
Process: 669 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
Sep 13 23:30:07 master systemd[1]: Starting LSB: Start Jenkins at boot time...
Sep 13 23:30:08 master jenkins[669]: Correct java version found
Sep 13 23:30:08 master jenkins[669]: * Starting Jenkins Automation Server jenkins
Sep 13 23:30:08 master su[801]: (to jenkins) root on none
Sep 13 23:30:08 master su[801]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Sep 13 23:30:09 master su[801]: pam_unix(su-l:session): session closed for user jenkins
Sep 13 23:30:10 master jenkins[669]: ...done.
Sep 13 23:30:10 master systemd[1]: Started LSB: Start Jenkins at boot time.
4. Firewall ayarlarını yapma
Jenkins 8080 portu üzerinden hizmet verir. Bizim de bu portu dışarıya açmamız gerekiyor.
#Sadece 192.168.10.0/24 bloğuna izin vermek için
ufw allow proto tcp from 192.168.10.0/24 to any port 8080
#Bütün IP bloklarından erişim sağlamak için
ufw allow 8080
Server tarafındaki kurulumu tamamladık. Artık browser üzerinden Jenkins’e erişebilirsiniz. Jenkins’e erişmek için:
http://jenkins_ip_adress:8080
5. Jenkins sorunsuz bir şekilde karşımıza geldiğinde geçici olarak üretilen Admin şifresini ister. Bu şifrenin yazılı olduğu dosyayı ‘cat’ komutu ile okuyarak şifreyi gireceğiz.
cat /var/lib/jenkins/secrets/initialAdminPassword
fbeeda0cfc8c43ba8ef91eb84c1bc773
Geçici şifreyi girerek ‘Contine’ butonuna basınız.
Bir sonraki ekranda ‘Önerilen pluginleri’ yada ‘Seçtiğiniz pluginleri’ yükleme gelecek.
Install suggested plugins seçeneğini seçerek devam edelim. Pluginler yüklendikten sonra yetkili bir kullanıcı oluşturmamızı isteyecek.
Save and Contuine diyerek devam ediyoruz.
Evet Jenkins artık hazır bir şekilde karşımızda. Not: Jenkins tamamen olmasada Türkçe dil desteği olan bir yazılımdır ama tabi ki bu şekilde kullanımı kimseye tavsiye etmem. Browser’a göre Jenkins’in dil değiştirmesini istemiyorsanız Locale plugini kullabilirsiniz.
Jenkins'i Yönet > Eklentileri Yönet > Kullanılabilir
Locale yüklendikten sonra:
Jenkins'i Yönet > Sistem Konfigurasyonunu Değiştir
Default Langauge > en_US
Ignore browser preference and force this language (İşaretle)
Resimde göründüğü şekilde ayarladıktan sonra Jenkins her zaman ingilizce olarak görünecektir.
Jenkins ile alakalı sorularınız var ise yorumlarda belirtebilirsiniz.