{"id":36763,"date":"2025-12-22T20:40:45","date_gmt":"2025-12-22T17:40:45","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36763"},"modified":"2025-12-22T20:40:45","modified_gmt":"2025-12-22T17:40:45","slug":"ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>Merhaba teknoloji merakl\u0131lar\u0131 ve DevOps m\u00fchendisleri! G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde otomasyon, h\u0131z ve g\u00fcvenilirlik olmazsa olmaz unsurlardan biridir. S\u00fcrekli Entegrasyon (CI) ve S\u00fcrekli Teslimat (CD) pratikleri, bu hedeflere ula\u015fmada kritik rol oynar. \u0130\u015fte tam bu noktada, Jenkins gibi g\u00fc\u00e7l\u00fc bir otomasyon sunucusu devreye girer. Bu makalede, a\u00e7\u0131k kaynak d\u00fcnyas\u0131n\u0131n en pop\u00fcler CI\/CD ara\u00e7lar\u0131ndan biri olan Jenkins&#8217;i Ubuntu 20.04 i\u015fletim sistemi \u00fczerine ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve temel yap\u0131land\u0131rmalar\u0131n\u0131 nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.<\/p>\n<h3>Jenkins Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?<\/h3>\n<p>Jenkins, yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerini otomatikle\u015ftirmek i\u00e7in tasarlanm\u0131\u015f, Java tabanl\u0131, a\u00e7\u0131k kaynakl\u0131 bir otomasyon sunucusudur. Temel amac\u0131, yaz\u0131l\u0131m projelerinin build, test ve deploy a\u015famalar\u0131n\u0131 otomatikle\u015ftirerek geli\u015ftiricilerin i\u015f y\u00fck\u00fcn\u00fc azaltmak, hatalar\u0131 erken tespit etmek ve yaz\u0131l\u0131m\u0131n daha h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde pazara sunulmas\u0131n\u0131 sa\u011flamakt\u0131r.<\/p>\n<h4>S\u00fcrekli Entegrasyon (CI) ve S\u00fcrekli Teslimat (CD)<\/h4>\n<p>*   <strong>S\u00fcrekli Entegrasyon (CI):<\/strong> Geli\u015ftiricilerin kod de\u011fi\u015fikliklerini d\u00fczenli olarak merkezi bir depoya (\u00f6rn. Git) entegre etme prati\u011fidir. Jenkins, her entegrasyonda otomatik olarak kodu derler, testleri \u00e7al\u0131\u015ft\u0131r\u0131r ve entegrasyon hatalar\u0131n\u0131 an\u0131nda raporlar. Bu sayede, entegrasyon sorunlar\u0131 erkenden fark edilir ve \u00e7\u00f6z\u00fcl\u00fcr, &#8220;entegrasyon cehennemi&#8221; ya\u015fanmaz.<br \/>\n*   <strong>S\u00fcrekli Teslimat (CD):<\/strong> S\u00fcrekli Entegrasyon&#8217;un bir uzant\u0131s\u0131d\u0131r. CI a\u015famas\u0131n\u0131 ba\u015far\u0131yla ge\u00e7en kodun, otomatik olarak test ortamlar\u0131na veya \u00fcretim ortamlar\u0131na da\u011f\u0131t\u0131ma haz\u0131r hale getirilmesini sa\u011flar. Bu, yaz\u0131l\u0131m\u0131n her zaman da\u011f\u0131t\u0131labilir durumda oldu\u011fu anlam\u0131na gelir. Jenkins, bu da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini de otomatikle\u015ftirebilir.<\/p>\n<h4>Jenkins&#8217;in Avantajlar\u0131:<\/h4>\n<p>*   <strong>A\u00e7\u0131k Kaynak ve \u00dccretsiz:<\/strong> Jenkins, tamamen \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131d\u0131r. Bu, maliyet avantaj\u0131 sa\u011flarken, geni\u015f bir topluluk deste\u011fi ve s\u00fcrekli geli\u015fim imkan\u0131 sunar.<br \/>\n*   <strong>Geni\u015f Plugin Ekosistemi:<\/strong> Jenkins&#8217;in en b\u00fcy\u00fck g\u00fc\u00e7lerinden biri, binlerce eklentiden olu\u015fan zengin ekosistemidir. Bu eklentiler sayesinde, neredeyse her t\u00fcrl\u00fc s\u00fcr\u00fcm kontrol sistemi (Git, SVN), derleme arac\u0131 (Maven, Gradle), test \u00e7er\u00e7evesi (JUnit, Selenium), da\u011f\u0131t\u0131m platformu (Docker, Kubernetes) ve bildirim sistemi (Slack, E-posta) ile entegre olabilir.<br \/>\n*   <strong>Esneklik ve Geni\u015fletilebilirlik:<\/strong> Jenkins, karma\u015f\u0131k i\u015f ak\u0131\u015flar\u0131n\u0131 (pipelines) tan\u0131mlaman\u0131za olanak tan\u0131r. Groovy tabanl\u0131 &#8220;Jenkins Pipeline&#8221; \u00f6zelli\u011fi ile kod olarak tan\u0131mlanabilen (Pipeline as Code) bu i\u015f ak\u0131\u015flar\u0131, versiyon kontrol sistemlerinde saklanabilir ve projenin gereksinimlerine g\u00f6re kolayca \u00f6zelle\u015ftirilebilir.<br \/>\n*   <strong>Da\u011f\u0131t\u0131k Mimari:<\/strong> Jenkins, ana sunucunun (master) y\u00fck\u00fcn\u00fc hafifletmek i\u00e7in da\u011f\u0131t\u0131k bir mimaride \u00e7al\u0131\u015fabilir. &#8220;Agent&#8221; ad\u0131 verilen yard\u0131mc\u0131 makineler, derleme ve test i\u015flemlerini \u00fcstlenerek ana sunucunun sadece orkestrasyondan sorumlu olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Platform Ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131:<\/strong> Java tabanl\u0131 olmas\u0131 sayesinde Jenkins, Windows, Linux, macOS gibi farkl\u0131 i\u015fletim sistemlerinde \u00e7al\u0131\u015fabilir. Bu makalede Ubuntu 20.04&#8217;\u00fc tercih etmemizin nedeni, sunucu ortamlar\u0131nda yayg\u0131n olarak kullan\u0131lan stabil ve pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131 olmas\u0131d\u0131r.<\/p>\n<p>Bu makalede Jenkins&#8217;i Ubuntu 20.04 \u00fczerine kurarak, projelerinizin otomasyon yolculu\u011funa ilk ad\u0131m\u0131 atman\u0131z\u0131 sa\u011flayaca\u011f\u0131z. Haz\u0131rsan\u0131z, kuruluma ge\u00e7elim!<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Jenkins kurulumuna ba\u015flamadan \u00f6nce, sisteminizin belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olmal\u0131y\u0131z. Bu, sorunsuz bir kurulum s\u00fcreci i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>Sistem Gereksinimleri:<\/h4>\n<p>*   <strong>\u0130\u015fletim Sistemi:<\/strong> Ubuntu 20.04 LTS (Long Term Support). Temiz bir kurulum \u00f6nerilir, ancak mevcut bir sunucu da kullan\u0131labilir.<br \/>\n*   <strong>RAM:<\/strong> Minimum 2 GB RAM (Jenkins&#8217;in kendisi i\u00e7in 256 MB, ancak projeleriniz ve eklentiler i\u00e7in daha fazlas\u0131 \u00f6nerilir). B\u00fcy\u00fck projeler veya \u00e7ok say\u0131da e\u015f zamanl\u0131 i\u015f i\u00e7in 4 GB veya daha fazlas\u0131 idealdir.<br \/>\n*   <strong>CPU:<\/strong> Minimum 1 \u00e7ekirdekli i\u015flemci (2 \u00e7ekirdek veya daha fazlas\u0131 \u00f6nerilir).<br \/>\n*   <strong>Disk Alan\u0131:<\/strong> Minimum 10 GB bo\u015f disk alan\u0131 (Jenkins kurulumu ve varsay\u0131lan yap\u0131land\u0131rmalar i\u00e7in 1 GB yeterli olsa da, derleme \u00e7\u0131kt\u0131lar\u0131, ar\u015fivler ve loglar i\u00e7in daha fazlas\u0131 gereklidir).<br \/>\n*   <strong>A\u011f Ba\u011flant\u0131s\u0131:<\/strong> \u0130nternet eri\u015fimi, paketleri indirmek ve g\u00fcncellemeleri almak i\u00e7in gereklidir.<br \/>\n*   <strong>Kullan\u0131c\u0131 Yetkileri:<\/strong> <code>sudo<\/code> ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131 hesab\u0131.<\/p>\n<h4>Java Geli\u015ftirme Kiti (JDK):<\/h4>\n<p>Jenkins bir Java uygulamas\u0131 oldu\u011fu i\u00e7in, \u00e7al\u0131\u015fabilmesi i\u00e7in bir Java Runtime Environment (JRE) veya Java Development Kit (JDK) gereklidir. Jenkins&#8217;in LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcmleri genellikle OpenJDK 11&#8217;i \u00f6nerir. Bu makalede OpenJDK 11&#8217;i kuraca\u011f\u0131z.<\/p>\n<p>*   <strong>OpenJDK 11:<\/strong> Jenkins&#8217;in resmi olarak destekledi\u011fi ve \u00f6nerdi\u011fi Java s\u00fcr\u00fcm\u00fcd\u00fcr.<\/p>\n<p>Bu \u00f6n gereksinimleri sa\u011flad\u0131\u011f\u0131n\u0131zdan emin olduktan sonra, kurulum ad\u0131mlar\u0131na ge\u00e7ebiliriz.<\/p>\n<h3>Jenkins Kurulumu: Ad\u0131m Ad\u0131m Rehber<\/h3>\n<p>Jenkins&#8217;i Ubuntu 20.04 \u00fczerine kurmak i\u00e7in resmi Jenkins APT deposunu kullanaca\u011f\u0131z. Bu y\u00f6ntem, Jenkins&#8217;i sistem paket y\u00f6neticiniz arac\u0131l\u0131\u011f\u0131yla kolayca kurman\u0131z\u0131 ve g\u00fcncellemenizi sa\u011flar.<\/p>\n<h4>Ad\u0131m 1: Sistem G\u00fcncelleme ve Gerekli Paketlerin Kurulumu<\/h4>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizin paket listesini g\u00fcncellemeli ve mevcut paketleri y\u00fckseltmelisiniz. Ayr\u0131ca, Jenkins&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan Java Development Kit&#8217;i (JDK) kuraca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, sisteminizdeki paket bilgilerini g\u00fcncelleyecek ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltecektir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermeyi sa\u011flar.<\/p>\n<p>\u015eimdi OpenJDK 11&#8217;i kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-11-jdk -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Java&#8217;n\u0131n do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">java -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 olarak <code>openjdk version \"11.0.x\"<\/code> benzeri bir \u015fey g\u00f6rmelisiniz. Bu, Java&#8217;n\u0131n ba\u015far\u0131yla kuruldu\u011funu g\u00f6sterir.<\/p>\n<h4>Ad\u0131m 2: Jenkins Deposu Anahtar\u0131n\u0131 Ekleme<\/h4>\n<p>Jenkins paketlerini do\u011frulamak i\u00e7in sisteminize Jenkins&#8217;in GPG anahtar\u0131n\u0131 eklemeniz gerekir. Bu, indirdi\u011finiz paketlerin orijinal ve g\u00fcvenilir oldu\u011funu garanti eder.<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/pkg.jenkins.io\/debian\/jenkins.io-2023.key | sudo gpg --dearmor -o \/usr\/share\/keyrings\/jenkins-keyring.gpg<\/code><\/pre>\n<p>Bu komut:<br \/>\n*   <code>curl -fsSL https:\/\/pkg.jenkins.io\/debian\/jenkins.io-2023.key<\/code>: Jenkins&#8217;in resmi GPG anahtar\u0131n\u0131 indirir. <code>-fsSL<\/code> bayraklar\u0131, curl&#8217;\u00fcn sessiz, ba\u015far\u0131s\u0131zl\u0131k durumunda hata veren ve y\u00f6nlendirmeleri takip eden bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>| sudo gpg --dearmor -o \/usr\/share\/keyrings\/jenkins-keyring.gpg<\/code>: \u0130ndirilen anahtar\u0131 <code>gpg --dearmor<\/code> komutu ile d\u00f6n\u00fc\u015ft\u00fcr\u00fcr ve <code>\/usr\/share\/keyrings\/jenkins-keyring.gpg<\/code> dizinine kaydeder. Bu, APT&#8217;nin paketleri do\u011frulamak i\u00e7in kullanaca\u011f\u0131 standart bir konumdur.<\/p>\n<h4>Ad\u0131m 3: Jenkins Deposu Ekleme<\/h4>\n<p>GPG anahtar\u0131n\u0131 ekledikten sonra, sisteminize Jenkins APT deposunu eklemelisiniz. Bu, <code>apt<\/code> paket y\u00f6neticisinin Jenkins paketlerini nereden indirece\u011fini bilmesini sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">echo deb [signed-by=\/usr\/share\/keyrings\/jenkins-keyring.gpg] https:\/\/pkg.jenkins.io\/debian binary\/ | sudo tee \/etc\/apt\/sources.list.d\/jenkins.list > \/dev\/null<\/code><\/pre>\n<p>Bu komut:<br \/>\n*   <code>echo deb ... binary\/<\/code>: Jenkins deposunun tan\u0131m\u0131n\u0131 olu\u015fturur. <code>signed-by=\/usr\/share\/keyrings\/jenkins-keyring.gpg<\/code> k\u0131sm\u0131, APT&#8217;ye bu depodan gelen paketlerin az \u00f6nce ekledi\u011fimiz GPG anahtar\u0131 ile imzaland\u0131\u011f\u0131n\u0131 bildirir.<br \/>\n*   <code>| sudo tee \/etc\/apt\/sources.list.d\/jenkins.list<\/code>: Olu\u015fturulan depo tan\u0131m\u0131n\u0131 <code>\/etc\/apt\/sources.list.d\/jenkins.list<\/code> dosyas\u0131na yazar. <code>tee<\/code> komutu, hem ekrana \u00e7\u0131kt\u0131 verir hem de belirtilen dosyaya yazar.<br \/>\n*   <code>> \/dev\/null<\/code>: <code>tee<\/code> komutunun ekrana verdi\u011fi \u00e7\u0131kt\u0131y\u0131 gizler.<\/p>\n<h4>Ad\u0131m 4: Jenkins Kurulumu<\/h4>\n<p>Depoyu ekledikten sonra, <code>apt<\/code> paket listesini tekrar g\u00fcncellemeniz ve ard\u0131ndan Jenkins&#8217;i kurman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install jenkins -y<\/code><\/pre>\n<p>Bu komutlar, yeni eklenen Jenkins deposundan paket bilgilerini alacak ve Jenkins sunucusunu sisteminize kuracakt\u0131r.<\/p>\n<h4>Ad\u0131m 5: Jenkins Servisini Ba\u015flatma ve Durumunu Kontrol Etme<\/h4>\n<p>Jenkins kurulumu tamamland\u0131\u011f\u0131nda, servis otomatik olarak ba\u015flamal\u0131d\u0131r. Ancak, emin olmak i\u00e7in durumunu kontrol edebilir ve gerekirse manuel olarak ba\u015flatabilirsiniz.<\/p>\n<p>Jenkins servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start jenkins<\/code><\/pre>\n<p>Jenkins servisini sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable jenkins<\/code><\/pre>\n<p>Jenkins servisinin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status jenkins<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ibaresini g\u00f6rmelisiniz. Bu, Jenkins sunucusunun ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<h4>Ad\u0131m 6: G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma (UFW)<\/h4>\n<p>E\u011fer sunucunuzda UFW (Uncomplicated Firewall) etkinse, Jenkins&#8217;in varsay\u0131lan olarak kulland\u0131\u011f\u0131 8080 portuna gelen ba\u011flant\u0131lara izin vermeniz gerekir. Aksi takdirde, web taray\u0131c\u0131n\u0131zdan Jenkins&#8217;e eri\u015femezsiniz.<\/p>\n<p>Jenkins&#8217;in varsay\u0131lan portu olan 8080&#8217;e izin verin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 8080<\/code><\/pre>\n<p>G\u00fcvenlik duvar\u0131n\u0131n durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da 8080 portunun izin verildi\u011fini g\u00f6rmelisiniz. E\u011fer UFW etkin de\u011filse ve kullanmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p>Bu komut, g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirecek ve mevcut kurallar\u0131 uygulayacakt\u0131r.<\/p>\n<h4>Ad\u0131m 7: Jenkins Kurulumunu Tamamlama (Web Aray\u00fcz\u00fc)<\/h4>\n<p>T\u00fcm arka plan kurulumlar\u0131 tamamland\u0131ktan sonra, bir web taray\u0131c\u0131s\u0131 arac\u0131l\u0131\u011f\u0131yla Jenkins&#8217;e eri\u015febilir ve ilk yap\u0131land\u0131rmay\u0131 yapabilirsiniz.<\/p>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 8080 portuyla birlikte girin:<\/p>\n<pre><code class=\"language-\">http:\/\/your_server_ip_or_domain:8080<\/code><\/pre>\n<p>\u0130lk eri\u015fti\u011finizde, Jenkins sizden &#8220;Unlock Jenkins&#8221; ekran\u0131nda bir y\u00f6netici parolas\u0131 isteyecektir. Bu parola, Jenkins kurulumu s\u0131ras\u0131nda otomatik olarak olu\u015fturulur ve g\u00fcvenli bir dosyada saklan\u0131r.<\/p>\n<p>Parolay\u0131 bulmak i\u00e7in sunucunuzda a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo cat \/var\/lib\/jenkins\/secrets\/initialAdminPassword<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131, Jenkins web aray\u00fcz\u00fcne girmeniz gereken 32 karakterlik alfan\u00fcmerik parolay\u0131 i\u00e7erecektir. Parolay\u0131 kopyalay\u0131n ve web aray\u00fcz\u00fcndeki &#8220;Administrator password&#8221; alan\u0131na yap\u0131\u015ft\u0131r\u0131n, ard\u0131ndan &#8220;Continue&#8221; butonuna t\u0131klay\u0131n.<\/p>\n<h5>Eklentilerin Kurulumu:<\/h5>\n<p>Parolay\u0131 girdikten sonra, Jenkins size eklentileri kurman\u0131z i\u00e7in iki se\u00e7enek sunacakt\u0131r:<\/p>\n<p>*   <strong>Install suggested plugins:<\/strong> Jenkins&#8217;in en yayg\u0131n kullan\u0131lan ve \u00f6nerilen eklentilerini otomatik olarak kurar. \u00c7o\u011fu kullan\u0131c\u0131 i\u00e7in bu se\u00e7enek en iyi ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<br \/>\n*   <strong>Select plugins to install:<\/strong> Kurmak istedi\u011finiz eklentileri manuel olarak se\u00e7menize olanak tan\u0131r. E\u011fer belirli bir ihtiyac\u0131n\u0131z varsa bu se\u00e7ene\u011fi kullanabilirsiniz.<\/p>\n<p>Genellikle &#8220;Install suggested plugins&#8221; se\u00e7ene\u011fini se\u00e7mek iyi bir ba\u015flang\u0131\u00e7t\u0131r. Jenkins, gerekli eklentileri indirip kurmaya ba\u015flayacakt\u0131r. Bu i\u015flem, internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir.<\/p>\n<h5>\u0130lk Y\u00f6netici Kullan\u0131c\u0131s\u0131n\u0131 Olu\u015fturma:<\/h5>\n<p>Eklentilerin kurulumu tamamland\u0131ktan sonra, Jenkins sizden ilk y\u00f6netici kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturman\u0131z\u0131 isteyecektir. Bu, Jenkins&#8217;e giri\u015f yapmak i\u00e7in kullanaca\u011f\u0131n\u0131z kimlik bilgileridir.<\/p>\n<p>*   <strong>Username:<\/strong> Kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 girin (\u00f6rn. <code>admin<\/code>).<br \/>\n*   <strong>Password:<\/strong> G\u00fc\u00e7l\u00fc bir parola belirleyin.<br \/>\n*   <strong>Confirm password:<\/strong> Parolay\u0131 tekrar girerek onaylay\u0131n.<br \/>\n*   <strong>Full name:<\/strong> Ad\u0131n\u0131z\u0131 ve soyad\u0131n\u0131z\u0131 girin.<br \/>\n*   <strong>E-mail address:<\/strong> E-posta adresinizi girin.<\/p>\n<p>Bu bilgileri girdikten sonra &#8220;Save and Continue&#8221; butonuna t\u0131klay\u0131n.<\/p>\n<h5>Jenkins URL Yap\u0131land\u0131rmas\u0131:<\/h5>\n<p>Son ad\u0131m, Jenkins&#8217;in URL&#8217;sini yap\u0131land\u0131rmakt\u0131r. Varsay\u0131lan olarak, Jenkins sunucunuzun IP adresi ve 8080 portunu kullanacakt\u0131r. Bu ayar\u0131 genellikle oldu\u011fu gibi b\u0131rakabilirsiniz, ancak bir ters proxy (Nginx veya Apache) kullanmay\u0131 planl\u0131yorsan\u0131z veya bir alan ad\u0131 \u00fczerinden eri\u015fiyorsan\u0131z daha sonra de\u011fi\u015ftirebilirsiniz.<\/p>\n<p>&#8220;Save and Finish&#8221; butonuna t\u0131klay\u0131n.<\/p>\n<p>Tebrikler! Jenkins kurulumunuz ba\u015far\u0131yla tamamland\u0131. &#8220;Start using Jenkins&#8221; butonuna t\u0131klayarak Jenkins paneline eri\u015febilirsiniz. Art\u0131k ilk CI\/CD i\u015flerinizi olu\u015fturmaya haz\u0131rs\u0131n\u0131z.<\/p>\n<h3>Ek Yap\u0131land\u0131rmalar ve \u00d6nemli Notlar<\/h3>\n<p>Jenkins kurulumunu tamamlad\u0131k, ancak daha verimli ve g\u00fcvenli bir kullan\u0131m i\u00e7in baz\u0131 ek yap\u0131land\u0131rmalar ve \u00f6nemli noktalar bulunmaktad\u0131r.<\/p>\n<h4>Jenkins Servisini Y\u00f6netme<\/h4>\n<p>Jenkins bir <code>systemd<\/code> servisi olarak \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, onu <code>systemctl<\/code> komutuyla kolayca y\u00f6netebilirsiniz:<\/p>\n<p>*   <strong>Jenkins servisini durdurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop jenkins<\/code><\/pre>\n<p>*   <strong>Jenkins servisini yeniden ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart jenkins<\/code><\/pre>\n<p>*   <strong>Jenkins servisinin durumunu kontrol etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl status jenkins<\/code><\/pre>\n<p>*   <strong>Sistem ba\u015flang\u0131c\u0131nda Jenkins&#8217;in otomatik ba\u015flamas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl disable jenkins<\/code><\/pre>\n<h4>Jenkins Kullan\u0131c\u0131 ve Dizinleri<\/h4>\n<p>Jenkins, varsay\u0131lan olarak <code>jenkins<\/code> adl\u0131 \u00f6zel bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015f\u0131r. Bu kullan\u0131c\u0131, g\u00fcvenlik amac\u0131yla di\u011fer sistem kullan\u0131c\u0131lar\u0131ndan izole edilmi\u015ftir.<\/p>\n<p>*   <strong>Jenkins ana dizini (Home Directory):<\/strong> <code>\/var\/lib\/jenkins<\/code><br \/>\n    Bu dizin, Jenkins&#8217;in t\u00fcm yap\u0131land\u0131rma dosyalar\u0131n\u0131, i\u015flerini, eklentilerini ve derleme ge\u00e7mi\u015fini saklad\u0131\u011f\u0131 yerdir. Bu dizinin d\u00fczenli olarak yedeklenmesi kritik \u00f6neme sahiptir.<br \/>\n*   <strong>Jenkins yap\u0131land\u0131rma dosyas\u0131:<\/strong> <code>\/etc\/default\/jenkins<\/code><br \/>\n    Bu dosya, Jenkins&#8217;in ba\u015flang\u0131\u00e7 parametrelerini (\u00f6rne\u011fin, Java yollar\u0131, bellek ayarlar\u0131, port numaras\u0131) i\u00e7erir.<\/p>\n<h4>Java Versiyonunu De\u011fi\u015ftirme (Opsiyonel)<\/h4>\n<p>E\u011fer sisteminizde birden fazla Java versiyonu y\u00fckl\u00fcyse ve Jenkins&#8217;in belirli bir versiyonu kullanmas\u0131n\u0131 istiyorsan\u0131z, bunu yap\u0131land\u0131rabilirsiniz.<\/p>\n<p>\u00d6ncelikle, sisteminizdeki mevcut Java versiyonlar\u0131n\u0131 listeleyin:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java<\/code><\/pre>\n<p>Bu komut, size y\u00fckl\u00fc Java versiyonlar\u0131n\u0131 ve her birinin \u00f6nceliklerini g\u00f6sterecektir. \u0130stedi\u011finiz versiyonu se\u00e7mek i\u00e7in numaras\u0131n\u0131 girip Enter tu\u015funa basabilirsiniz.<\/p>\n<p>Jenkins&#8217;in belirli bir Java versiyonunu kullanmas\u0131n\u0131 sa\u011flamak i\u00e7in <code>\/etc\/default\/jenkins<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilirsiniz. Bu dosyada <code>JAVA_HOME<\/code> de\u011fi\u015fkenini bulup, kullanmak istedi\u011finiz Java&#8217;n\u0131n ana dizinini belirtmelisiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/default\/jenkins<\/code><\/pre>\n<p>Dosyada <code>JAVA_HOME<\/code> sat\u0131r\u0131n\u0131 bulun (genellikle yorum sat\u0131r\u0131 olarak bulunur) ve a\u015fa\u011f\u0131daki gibi g\u00fcncelleyin (\u00f6rne\u011fin OpenJDK 11 i\u00e7in):<\/p>\n<pre><code class=\"language-\">JAVA_HOME=\"\/usr\/lib\/jvm\/java-11-openjdk-amd64\"<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra Jenkins servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart jenkins<\/code><\/pre>\n<h4>Jenkins Portunu De\u011fi\u015ftirme (Opsiyonel)<\/h4>\n<p>Jenkins varsay\u0131lan olarak 8080 portunu kullan\u0131r. E\u011fer bu port ba\u015fka bir uygulama taraf\u0131ndan kullan\u0131l\u0131yorsa veya farkl\u0131 bir port kullanmak isterseniz, bunu de\u011fi\u015ftirebilirsiniz.<\/p>\n<p><code>\/etc\/default\/jenkins<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/default\/jenkins<\/code><\/pre>\n<p>Dosyada <code>HTTP_PORT<\/code> de\u011fi\u015fkenini bulun ve istedi\u011finiz port numaras\u0131n\u0131 girin (\u00f6rne\u011fin, 9000):<\/p>\n<pre><code class=\"language-\">HTTP_PORT=9000<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra, Jenkins servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart jenkins<\/code><\/pre>\n<p>E\u011fer g\u00fcvenlik duvar\u0131 (UFW) kullan\u0131yorsan\u0131z, yeni porta da izin vermeyi unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 9000\nsudo ufw delete allow 8080 # Eski portu kapatmak isterseniz<\/code><\/pre>\n<h4>Ters Proxy (Nginx\/Apache) ile Yap\u0131land\u0131rma<\/h4>\n<p>\u00dcretim ortamlar\u0131nda Jenkins&#8217;e do\u011frudan 8080 portu \u00fczerinden eri\u015fmek yerine, genellikle bir ters proxy (Reverse Proxy) sunucusu (Nginx veya Apache gibi) kullan\u0131lmas\u0131 \u00f6nerilir. Bunun birka\u00e7 nedeni vard\u0131r:<\/p>\n<p>*   <strong>SSL\/TLS \u015eifrelemesi:<\/strong> Ters proxy, Jenkins trafi\u011fini HTTPS \u00fczerinden \u015fifrelemenizi sa\u011flar. Bu, hassas verilerin g\u00fcvenli\u011fini art\u0131r\u0131r.<br \/>\n*   <strong>Standart Portlar (80\/443):<\/strong> Kullan\u0131c\u0131lar\u0131n Jenkins&#8217;e standart web portlar\u0131 (HTTP i\u00e7in 80, HTTPS i\u00e7in 443) \u00fczerinden eri\u015fmesini sa\u011flar, port numaras\u0131n\u0131 belirtmeye gerek kalmaz.<br \/>\n*   <strong>Birden Fazla Uygulama Y\u00f6netimi:<\/strong> Ayn\u0131 sunucu \u00fczerinde birden fazla web uygulamas\u0131 \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, ters proxy farkl\u0131 uygulamalar\u0131 farkl\u0131 alan adlar\u0131 veya alt yollar \u00fczerinden y\u00f6nlendirmenize olanak tan\u0131r.<br \/>\n*   <strong>Y\u00fck Dengeleme ve G\u00fcvenlik:<\/strong> Ters proxy, ek g\u00fcvenlik katmanlar\u0131 sa\u011flayabilir ve y\u00fck dengeleme gibi geli\u015fmi\u015f \u00f6zellikler sunabilir.<\/p>\n<p>Bu makalenin kapsam\u0131 d\u0131\u015f\u0131nda olsa da, Nginx veya Apache ile ters proxy yap\u0131land\u0131rmas\u0131 genellikle a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<p>1.  Nginx veya Apache&#8217;yi kurun.<br \/>\n2.  Jenkins i\u00e7in bir sanal host veya sunucu blo\u011fu olu\u015fturun.<br \/>\n3.  Gelen istekleri Jenkins&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131 8080 portuna y\u00f6nlendiren proxy kurallar\u0131 ekleyin.<br \/>\n4.  SSL sertifikas\u0131 (Let&#8217;s Encrypt gibi) yap\u0131land\u0131rarak HTTPS&#8217;i etkinle\u015ftirin.<\/p>\n<h4>G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h4>\n<p>Jenkins, CI\/CD s\u00fcre\u00e7lerinizin kalbi oldu\u011fu i\u00e7in g\u00fcvenli\u011fi son derece \u00f6nemlidir.<\/p>\n<p>*   <strong>G\u00fc\u00e7l\u00fc Parolalar ve Kullan\u0131c\u0131 Y\u00f6netimi:<\/strong> \u0130lk y\u00f6netici kullan\u0131c\u0131s\u0131 i\u00e7in g\u00fc\u00e7l\u00fc bir parola kullan\u0131n ve Jenkins&#8217;e eri\u015fen t\u00fcm kullan\u0131c\u0131lar i\u00e7in g\u00fc\u00e7l\u00fc parolalar zorunlu tutun. Gereksiz kullan\u0131c\u0131lar\u0131 silin veya yetkilerini k\u0131s\u0131tlay\u0131n.<br \/>\n*   <strong>Rol Tabanl\u0131 Eri\u015fim Kontrol\u00fc (RBAC):<\/strong> Jenkins&#8217;in yerle\u015fik rol tabanl\u0131 eri\u015fim kontrol\u00fcn\u00fc kullanarak kullan\u0131c\u0131lar\u0131n\u0131za sadece ihtiya\u00e7 duyduklar\u0131 izinleri verin.<br \/>\n*   <strong>SSL\/TLS Kullan\u0131m\u0131:<\/strong> Jenkins&#8217;e her zaman HTTPS \u00fczerinden eri\u015fim sa\u011flay\u0131n. Ters proxy kullanarak veya Jenkins&#8217;in kendi i\u00e7indeki ayarlar\u0131yla SSL&#8217;i etkinle\u015ftirin.<br \/>\n*   <strong>Jenkins G\u00fcncellemeleri:<\/strong> Jenkins&#8217;i ve eklentilerini d\u00fczenli olarak g\u00fcncelleyin. G\u00fcncellemeler genellikle g\u00fcvenlik yamalar\u0131 ve hata d\u00fczeltmeleri i\u00e7erir.<br \/>\n*   <strong>Eklenti G\u00fcvenli\u011fi:<\/strong> Sadece g\u00fcvenilir kaynaklardan eklentiler kurun ve kullanmad\u0131\u011f\u0131n\u0131z eklentileri kald\u0131r\u0131n.<br \/>\n*   <strong>Sunucu G\u00fcvenli\u011fi:<\/strong> Jenkins&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131 Ubuntu sunucusunun da g\u00fcvenli\u011fini sa\u011flay\u0131n. D\u00fczenli sistem g\u00fcncellemeleri, g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131 ve SSH anahtar tabanl\u0131 kimlik do\u011frulama gibi standart sunucu g\u00fcvenlik uygulamalar\u0131n\u0131 uygulay\u0131n.<br \/>\n*   <strong>Yedekleme:<\/strong> <code>\/var\/lib\/jenkins<\/code> dizinini d\u00fczenli olarak yedekleyin. Bu, felaket durumunda Jenkins yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 ve i\u015flerinizi kurtarman\u0131z\u0131 sa\u011flar.<\/p>\n<h4>Y\u00fckseltme (Upgrade) \u0130\u015flemi<\/h4>\n<p>Jenkins&#8217;i y\u00fckseltmek olduk\u00e7a basittir, \u00e7\u00fcnk\u00fc APT deposunu kullan\u0131yoruz:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade jenkins -y<\/code><\/pre>\n<p>Y\u00fckseltme \u00f6ncesinde her zaman <code>\/var\/lib\/jenkins<\/code> dizininin yede\u011fini alman\u0131z \u015fiddetle tavsiye edilir. B\u00fcy\u00fck y\u00fckseltmelerde olas\u0131 uyumluluk sorunlar\u0131na kar\u015f\u0131 haz\u0131rl\u0131kl\u0131 olmak \u00f6nemlidir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 20.04 i\u015fletim sistemi \u00fczerine Jenkins otomasyon sunucusunu ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. Java kurulumundan g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131na, Jenkins&#8217;in web aray\u00fcz\u00fcnden ilk y\u00f6netici kullan\u0131c\u0131 olu\u015fturmaya kadar t\u00fcm kritik ad\u0131mlar\u0131 ba\u015far\u0131yla tamamlad\u0131k. Art\u0131k geli\u015ftirme s\u00fcre\u00e7lerinizi otomatikle\u015ftirme ve CI\/CD pratiklerini uygulama konusunda g\u00fc\u00e7l\u00fc bir araca sahipsiniz.<\/p>\n<p>Jenkins&#8217;in esnekli\u011fi ve geni\u015f eklenti ekosistemi sayesinde, projelerinizin \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re onu yap\u0131land\u0131rabilir ve i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 optimize edebilirsiniz. Unutmay\u0131n ki Jenkins, sadece bir kurulumdan ibaret de\u011fildir; s\u00fcrekli \u00f6\u011frenme, yap\u0131land\u0131rma ve iyile\u015ftirme gerektiren dinamik bir ara\u00e7t\u0131r.<\/p>\n<p>\u015eimdi s\u0131ra sizde! \u0130lk Jenkins i\u015finizi (job) olu\u015fturarak Git deponuzdan kod \u00e7ekmeyi, derlemeyi ve basit testleri \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyin. Jenkins&#8217;in potansiyelini ke\u015ffetmek i\u00e7in \u00e7e\u015fitli eklentileri inceleyin ve CI\/CD yolculu\u011funuzda yeni ufuklar a\u00e7\u0131n. Ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber\nMerhaba teknoloji merakl\u0131lar\u0131 ve DevOps m\u00fchendisleri! G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m geli\u015ftirm","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-36763","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber Merhaba teknoloji merakl\u0131lar\u0131 ve DevOps m\u00fchendisleri! G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m geli\u015ftirm\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-22T17:40:45+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-12-22T17:40:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":2775,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-22T17:40:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber Merhaba teknoloji merakl\u0131lar\u0131 ve DevOps m\u00fchendisleri! G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m geli\u015ftirm","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-22T17:40:45+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-12-22T17:40:45+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/"},"wordCount":2775,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/","name":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-22T17:40:45+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-jenkins-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 20.04 \u00dczerine Jenkins Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36763"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36763\/revisions"}],"predecessor-version":[{"id":36764,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36763\/revisions\/36764"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36763"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36763"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}