{"id":674,"date":"2026-11-12T16:04:08","date_gmt":"2026-11-12T13:04:08","guid":{"rendered":"https:\/\/turkishost.com\/blog\/?p=674"},"modified":"2026-11-13T15:17:08","modified_gmt":"2026-11-13T12:17:08","slug":"ci-cd-nedir","status":"publish","type":"post","link":"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/","title":{"rendered":"CI\/CD Nedir? Nas\u0131l \u00c7al\u0131\u015f\u0131r ve Ne \u0130\u015fe Yarar?"},"content":{"rendered":"<div class=\"one-cikan-noktalar\" style=\"background-color: #f8fafc; border: 1px solid #e2e8f0; border-left: 5px solid #0056b3; border-radius: 8px; padding: 25px; margin: 30px 0; font-family: sans-serif;\">\n<p style=\"color: #0f172a; font-size: 22px; font-weight: bold; margin-top: 0; margin-bottom: 8px; display: flex; align-items: center; gap: 10px;\"><span style=\"color: #0056b3; font-size: 20px;\">\ud83d\udccc<\/span> \u00d6ne \u00c7\u0131kan Noktalar<\/p>\n<p style=\"color: #475569; font-size: 16px; margin-bottom: 20px; line-height: 1.5;\"><span style=\"color: #000000;\">CI\/CD ile alakal\u0131 bilmeniz gereken 5 kritik nokta;<\/span><\/p>\n<ol style=\"margin: 0; padding-left: 20px; color: #1e293b; line-height: 1.7; font-size: 16px;\">\n<li><strong>CI\/CD (Continuous Integration \/ Continuous Delivery veya Deployment)<\/strong>, yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde kod de\u011fi\u015fikliklerinin otomatik olarak test edilmesini, haz\u0131rlanmas\u0131n\u0131 ve da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flayan uygulamalar b\u00fct\u00fcn\u00fcd\u00fcr.<\/li>\n<li>Continuous Integration (CI), geli\u015ftiricilerin kod de\u011fi\u015fikliklerini ortak bir depoda birle\u015ftirmesini ve bu de\u011fi\u015fikliklerin otomatik testlerden ge\u00e7irilmesini sa\u011flar.<\/li>\n<li>Continuous Delivery ve Continuous Deployment, yaz\u0131l\u0131m\u0131n da\u011f\u0131t\u0131ma haz\u0131r tutulmas\u0131n\u0131 veya testlerden ge\u00e7en s\u00fcr\u00fcmlerin otomatik olarak <strong>canl\u0131 ortama aktar\u0131lmas\u0131n\u0131 ama\u00e7lar.<\/strong><\/li>\n<li>CI\/CD Pipeline, kod de\u011fi\u015fikliklerinin derleme, test ve da\u011f\u0131t\u0131m gibi a\u015famalardan ge\u00e7ti\u011fi otomatik i\u015f ak\u0131\u015f\u0131d\u0131r.<\/li>\n<li><strong>Jenkins, GitHub Actions ve GitLab<\/strong> CI\/CD, yaz\u0131l\u0131m geli\u015ftirme ekiplerinin entegrasyon, test ve da\u011f\u0131t\u0131m i\u015flemlerini otomatikle\u015ftirmek i\u00e7in kullanabilece\u011fi yayg\u0131n ara\u00e7lard\u0131r.<\/li>\n<\/ol>\n<\/div>\n<p><span style=\"font-weight: 400;\">CI\/CD (Continuous Integration \/ Continuous Delivery veya Continuous Deployment), yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde kod de\u011fi\u015fikliklerinin otomatik olarak test edilmesini, haz\u0131rlanmas\u0131n\u0131 ve da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flayan uygulamalar b\u00fct\u00fcn\u00fcd\u00fcr. T\u00fcrk\u00e7ede s\u00fcrekli entegrasyon ve s\u00fcrekli teslimat veya da\u011f\u0131t\u0131m olarak ifade edilir. CI\/CD yakla\u015f\u0131m\u0131, geleneksel yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerini otomatikle\u015ftirerek yaz\u0131l\u0131m g\u00fcncellemelerinin daha h\u0131zl\u0131, kontroll\u00fc ve tekrarlanabilir \u015fekilde ger\u00e7ekle\u015ftirilmesini ama\u00e7lar.<\/span><\/p>\n\n<article>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">\u0130\u00e7indekiler<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Ne_Ise_Yarar\" >CI\/CD Ne \u0130\u015fe Yarar?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Neden_Onemlidir\" >CI\/CD Neden \u00d6nemlidir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Manuel_Yazilim_Dagitimindan_Farki\" >Manuel Yaz\u0131l\u0131m Da\u011f\u0131t\u0131m\u0131ndan Fark\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CI_ve_CD_Ne_Anlama_Gelir\" >CI ve CD Ne Anlama Gelir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Continuous_Integration_Surekli_Entegrasyon_Nedir\" >Continuous Integration (S\u00fcrekli Entegrasyon) Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Continuous_Delivery_Surekli_Teslimat_Nedir\" >Continuous Delivery (S\u00fcrekli Teslimat) Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Continuous_Deployment_Surekli_Dagitim_Nedir\" >Continuous Deployment (S\u00fcrekli Da\u011f\u0131t\u0131m) Nedir?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Pipeline_Nedir_ve_Nasil_Calisir\" >CI\/CD Pipeline Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Kod_Degisikliklerinin_Git_Deposuna_Gonderilmesi\" >Kod De\u011fi\u015fikliklerinin Git Deposuna G\u00f6nderilmesi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Build_ve_Otomatik_Test_Asamalari\" >Build ve Otomatik Test A\u015famalar\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Deployment_Dagitim_ve_Canliya_Alma\" >Deployment (Da\u011f\u0131t\u0131m) ve Canl\u0131ya Alma<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Araclari_Nelerdir\" >CI\/CD Ara\u00e7lar\u0131 Nelerdir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Jenkins\" >Jenkins<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#GitHub_Actions\" >GitHub Actions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#GitLab_CICD\" >GitLab CI\/CD<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Pipeline_Nasil_Kurulur\" >CI\/CD Pipeline Nas\u0131l Kurulur?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#GitHub_Actions_ile_Basit_CICD_Ornegi\" >GitHub Actions ile Basit CI\/CD \u00d6rne\u011fi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_ile_Sunucuya_Otomatik_Dagitim\" >CI\/CD ile Sunucuya Otomatik Da\u011f\u0131t\u0131m<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Kullanmanin_Avantajlari_Nelerdir\" >CI\/CD Kullanman\u0131n Avantajlar\u0131 Nelerdir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_ile_DevOps_Arasindaki_Fark_Nedir\" >CI\/CD ile DevOps Aras\u0131ndaki Fark Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_Sureclerinde_Guvenlik_ve_Dikkat_Edilmesi_Gerekenler\" >CI\/CD S\u00fcre\u00e7lerinde G\u00fcvenlik ve Dikkat Edilmesi Gerekenler<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Erisim_Anahtarlari_ve_Gizli_Bilgilerin_Korunmasi\" >Eri\u015fim Anahtarlar\u0131 ve Gizli Bilgilerin Korunmas\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Hatali_Dagitimlarda_Rollback_ve_Yedekleme\" >Hatal\u0131 Da\u011f\u0131t\u0131mlarda Rollback ve Yedekleme<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#Sikca_Sorulan_Sorular\" >S\u0131k\u00e7a Sorulan Sorular<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_ogrenmek_zor_mu\" >CI\/CD \u00f6\u011frenmek zor mu?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_icin_hangi_araclar_kullanilir\" >CI\/CD i\u00e7in hangi ara\u00e7lar kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_sadece_buyuk_projelerde_mi_kullanilir\" >CI\/CD sadece b\u00fcy\u00fck projelerde mi kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_ile_Git_ayni_sey_mi\" >CI\/CD ile Git ayn\u0131 \u015fey mi?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/turkishost.com\/blog\/ci-cd-nedir\/#CICD_icin_sunucu_gerekli_mi\" >CI\/CD i\u00e7in sunucu gerekli mi?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"ci-cd-ne-ise-yarar\"><span class=\"ez-toc-section\" id=\"CICD_Ne_Ise_Yarar\"><\/span><span style=\"font-weight: 400;\">CI\/CD Ne \u0130\u015fe Yarar?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD, yaz\u0131l\u0131m ekiplerinin geli\u015ftirdi\u011fi yeni \u00f6zellikleri, hata d\u00fczeltmelerini ve g\u00fcvenlik g\u00fcncellemelerini belirli kontrollerden ge\u00e7irerek kullan\u0131c\u0131lara ula\u015ft\u0131rmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<p>Mesela bir web uygulamas\u0131nda yap\u0131lan de\u011fi\u015fikliklerin manuel olarak sunucuya y\u00fcklenmesi, dosya eksikliklerine veya s\u00fcr\u00fcm uyu\u015fmazl\u0131klar\u0131na neden olabilir. CI\/CD kullan\u0131ld\u0131\u011f\u0131nda kod de\u011fi\u015fiklikleri otomatik testlerden ge\u00e7irilir ve belirlenen ko\u015fullar sa\u011fland\u0131\u011f\u0131nda da\u011f\u0131t\u0131m s\u00fcreci ba\u015flat\u0131labilir.<\/p>\n<p>\u00d6zellikle <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/turkishost.com\/vds-server\"><strong>VDS server altyap\u0131s\u0131<\/strong><\/a><\/span> \u00fczerinde \u00e7al\u0131\u015fan \u00f6zel web uygulamalar\u0131nda, otomatik da\u011f\u0131t\u0131m s\u00fcre\u00e7leri g\u00fcncellemelerin daha d\u00fczenli y\u00f6netilmesini sa\u011flayabilir. CI\/CD kullan\u0131m\u0131n\u0131n temel ama\u00e7lar\u0131 \u015funlard\u0131r:<\/p>\n<div style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 1.2em 0 1.4em;\">\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Yaz\u0131l\u0131m g\u00fcncellemelerini h\u0131zland\u0131rmak<\/strong><\/p>\n<p style=\"margin: 0; font-size: .95em; color: #5b6575;\">Tekrarlanan test ve da\u011f\u0131t\u0131m i\u015flemlerini otomatikle\u015ftirmek.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Hatalar\u0131 erken tespit etmek<\/strong><\/p>\n<p style=\"margin: 0; font-size: .95em; color: #5b6575;\">Kod de\u011fi\u015fikliklerini canl\u0131 ortama ula\u015fmadan \u00f6nce kontrol etmek.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Manuel i\u015flemleri azaltmak<\/strong><\/p>\n<p style=\"margin: 0; font-size: .95em; color: #5b6575;\">Dosya y\u00fckleme, derleme ve test gibi i\u015flemleri standartla\u015ft\u0131rmak.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Ekip \u00e7al\u0131\u015fmas\u0131n\u0131 kolayla\u015ft\u0131rmak<\/strong><\/p>\n<p style=\"margin: 0; font-size: .95em; color: #5b6575;\">Farkl\u0131 geli\u015ftiricilerin yapt\u0131\u011f\u0131 de\u011fi\u015fiklikleri ortak bir s\u00fcre\u00e7te de\u011ferlendirmek.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini izlemek<\/strong><\/p>\n<p style=\"margin: 0; font-size: .95em; color: #5b6575;\">Hangi s\u00fcr\u00fcm\u00fcn ne zaman haz\u0131rland\u0131\u011f\u0131n\u0131 ve da\u011f\u0131t\u0131ld\u0131\u011f\u0131n\u0131 takip etmek.<\/p>\n<\/div>\n<\/div>\n<h3 id=\"ci-cd-neden-onemlidir\"><span class=\"ez-toc-section\" id=\"CICD_Neden_Onemlidir\"><\/span><span style=\"font-weight: 400;\">CI\/CD Neden \u00d6nemlidir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yaz\u0131l\u0131m projeleri b\u00fcy\u00fcd\u00fck\u00e7e kod de\u011fi\u015fikliklerinin kontrol edilmesi zorla\u015fabilir. \u00d6zellikle birden fazla geli\u015ftiricinin ayn\u0131 proje \u00fczerinde \u00e7al\u0131\u015fmas\u0131, entegrasyon hatalar\u0131 ve s\u00fcr\u00fcm uyu\u015fmazl\u0131klar\u0131 olu\u015fturabilir.<\/p>\n<p>CI\/CD, de\u011fi\u015fikliklerin k\u00fc\u00e7\u00fck par\u00e7alar halinde ve s\u0131k aral\u0131klarla test edilmesini destekleyerek bu risklerin azalt\u0131lmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<h3 id=\"manuel-dagitimdan-farki\"><span class=\"ez-toc-section\" id=\"Manuel_Yazilim_Dagitimindan_Farki\"><\/span><span style=\"font-weight: 400;\">Manuel Yaz\u0131l\u0131m Da\u011f\u0131t\u0131m\u0131ndan Fark\u0131<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 1.2em 0 1.4em;\">\n<div style=\"flex: 1 1 280px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px 20px;\">\n<p><strong style=\"display: block; font-size: 1.05em; color: #475569; margin-bottom: 6px;\">Manuel da\u011f\u0131t\u0131m<\/strong><\/p>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #64748b; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>Geli\u015ftirici, g\u00fcncellenen dosyalar\u0131 sunucuya kendisi aktar\u0131r.<\/div>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #64748b; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>Uygulaman\u0131n \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 elle kontrol eder.<\/div>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #64748b; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>Baz\u0131 ad\u0131mlar\u0131n unutulmas\u0131 veya yanl\u0131\u015f dosyalar\u0131n y\u00fcklenmesi m\u00fcmk\u00fcnd\u00fcr.<\/div>\n<\/div>\n<div style=\"flex: 1 1 280px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 14px; padding: 18px 20px;\">\n<p><strong style=\"display: block; font-size: 1.05em; color: #1d4ed8; margin-bottom: 6px;\">CI\/CD yakla\u015f\u0131m\u0131<\/strong><\/p>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2713<\/span>Derleme, test ve da\u011f\u0131t\u0131m ad\u0131mlar\u0131 \u00f6nceden tan\u0131mlanm\u0131\u015f i\u015f ak\u0131\u015flar\u0131yla y\u00fcr\u00fct\u00fcl\u00fcr.<\/div>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2713<\/span>Ayn\u0131 i\u015flemler her g\u00fcncellemede benzer ko\u015fullarda tekrarlan\u0131r.<\/div>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2713<\/span>S\u00fcre\u00e7 standart ve izlenebilir hale gelir.<\/div>\n<\/div>\n<\/div>\n<h2 id=\"ci-ve-cd-ne-anlama-gelir\"><span class=\"ez-toc-section\" id=\"CI_ve_CD_Ne_Anlama_Gelir\"><\/span><span style=\"font-weight: 400;\">CI ve CD Ne Anlama Gelir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD iki temel kavramdan olu\u015fur. CI, kod de\u011fi\u015fikliklerinin ortak projeye entegre edilmesine odaklan\u0131rken CD, test edilen yaz\u0131l\u0131m\u0131n da\u011f\u0131t\u0131ma haz\u0131rlanmas\u0131 veya otomatik da\u011f\u0131t\u0131lmas\u0131yla ilgilenir.<\/p>\n<div style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 1.2em 0 1.4em;\">\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px; background: #fff;\">\n<p><span style=\"display: inline-block; background: linear-gradient(135deg,#3b82f6,#1e3a8a); color: #fff; font-weight: 800; border-radius: 8px; padding: 4px 12px; font-size: .95em;\">CI<\/span><strong style=\"display: block; margin: 10px 0 0; color: #0f172a;\">Continuous Integration<\/strong><span style=\"display: block; font-size: .9em; color: #1d4ed8; font-weight: 600;\">S\u00fcrekli Entegrasyon<\/span><\/p>\n<p style=\"margin: 8px 0 0; font-size: .94em; color: #5b6575;\">Kod de\u011fi\u015fiklikleri ortak depoya aktar\u0131l\u0131r ve otomatik kontrollerden ge\u00e7irilir.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px; background: #fff;\">\n<p><span style=\"display: inline-block; background: linear-gradient(135deg,#3b82f6,#1e3a8a); color: #fff; font-weight: 800; border-radius: 8px; padding: 4px 12px; font-size: .95em;\">CD<\/span><strong style=\"display: block; margin: 10px 0 0; color: #0f172a;\">Continuous Delivery<\/strong><span style=\"display: block; font-size: .9em; color: #1d4ed8; font-weight: 600;\">S\u00fcrekli Teslimat<\/span><\/p>\n<p style=\"margin: 8px 0 0; font-size: .94em; color: #5b6575;\">Testleri ge\u00e7en yaz\u0131l\u0131m, canl\u0131ya al\u0131nmaya haz\u0131r durumda tutulur.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px; background: #fff;\">\n<p><span style=\"display: inline-block; background: linear-gradient(135deg,#3b82f6,#1e3a8a); color: #fff; font-weight: 800; border-radius: 8px; padding: 4px 12px; font-size: .95em;\">CD<\/span><strong style=\"display: block; margin: 10px 0 0; color: #0f172a;\">Continuous Deployment<\/strong><span style=\"display: block; font-size: .9em; color: #1d4ed8; font-weight: 600;\">S\u00fcrekli Da\u011f\u0131t\u0131m<\/span><\/p>\n<p style=\"margin: 8px 0 0; font-size: .94em; color: #5b6575;\">Testleri ge\u00e7en de\u011fi\u015fiklikler manuel onay olmadan canl\u0131ya al\u0131n\u0131r.<\/p>\n<\/div>\n<\/div>\n<figure style=\"margin: 1.5em 0;\"><img fetchpriority=\"high\" decoding=\"async\" class=\" wp-image-678 aligncenter\" src=\"https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki.webp\" alt=\"CD ve Deployment Fark\u0131\" width=\"664\" height=\"347\" srcset=\"https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki.webp 1600w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-300x157.webp 300w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-1024x535.webp 1024w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-767x401.webp 767w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-1536x803.webp 1536w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-2048x1070.webp 2048w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-287x150.webp 287w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-100x52.webp 100w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-670x350.webp 670w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/continuous-delivery-ve-deployment-farki-788x411.webp 788w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><\/figure>\n<h3 id=\"continuous-integration-nedir\"><span class=\"ez-toc-section\" id=\"Continuous_Integration_Surekli_Entegrasyon_Nedir\"><\/span><span style=\"font-weight: 400;\">Continuous Integration (S\u00fcrekli Entegrasyon) Nedir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Continuous Integration (CI), geli\u015ftiricilerin yapt\u0131klar\u0131 kod de\u011fi\u015fikliklerini d\u00fczenli olarak ortak kod deposuna aktarmas\u0131 ve bu de\u011fi\u015fikliklerin otomatik kontrollerden ge\u00e7irilmesidir.<\/p>\n<p>\u00d6rne\u011fin bir geli\u015ftirici Git deposuna yeni kod g\u00f6nderdi\u011finde CI sistemi otomatik olarak \u00e7al\u0131\u015fabilir. Kod derlenir, testler ger\u00e7ekle\u015ftirilir ve hata bulunursa geli\u015ftiriciye bildirim g\u00f6nderilir.<\/p>\n<p>Bu yakla\u015f\u0131m, farkl\u0131 geli\u015ftiricilerin yapt\u0131\u011f\u0131 de\u011fi\u015fikliklerin birbiriyle uyumlu olup olmad\u0131\u011f\u0131n\u0131n erken a\u015famada kontrol edilmesini sa\u011flar.<\/p>\n<h3 id=\"continuous-delivery-nedir\"><span class=\"ez-toc-section\" id=\"Continuous_Delivery_Surekli_Teslimat_Nedir\"><\/span><span style=\"font-weight: 400;\">Continuous Delivery (S\u00fcrekli Teslimat) Nedir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Continuous Delivery, testlerden ba\u015far\u0131yla ge\u00e7en yaz\u0131l\u0131m\u0131n canl\u0131 ortama da\u011f\u0131t\u0131labilecek durumda tutulmas\u0131n\u0131 ama\u00e7lar.<\/p>\n<p>Bu yakla\u015f\u0131mda derleme ve test i\u015flemleri otomatik ger\u00e7ekle\u015ftirilebilir. Ancak \u00fcretim ortam\u0131na da\u011f\u0131t\u0131m i\u00e7in manuel onay gerekebilir. \u00d6rne\u011fin yeni s\u00fcr\u00fcm t\u00fcm testleri ge\u00e7tikten sonra sistem y\u00f6neticisinin onay\u0131yla canl\u0131ya al\u0131nabilir.<\/p>\n<h3 id=\"continuous-deployment-nedir\"><span class=\"ez-toc-section\" id=\"Continuous_Deployment_Surekli_Dagitim_Nedir\"><\/span><span style=\"font-weight: 400;\">Continuous Deployment (S\u00fcrekli Da\u011f\u0131t\u0131m) Nedir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Continuous Deployment, ba\u015far\u0131l\u0131 testlerden ge\u00e7en yaz\u0131l\u0131m de\u011fi\u015fikliklerinin ek bir manuel onay gerektirmeden \u00fcretim ortam\u0131na da\u011f\u0131t\u0131lmas\u0131d\u0131r. S\u00fcrekli teslimattan temel fark\u0131, canl\u0131ya alma a\u015famas\u0131n\u0131n da otomatikle\u015ftirilmesidir.<\/p>\n<div style=\"overflow-x: auto; margin: 1.2em 0 1.4em; border: 1px solid #e2e8f0; border-radius: 12px;\">\n<table style=\"width: 100%; border-collapse: collapse; min-width: 520px; margin: 0;\">\n<thead>\n<tr>\n<th style=\"padding: 12px 16px; text-align: left; background: #1d4ed8; color: #fff; font-weight: bold;\">\u00d6zellik<\/th>\n<th style=\"padding: 12px 16px; text-align: left; background: #1d4ed8; color: #fff; font-weight: bold;\">Continuous Delivery<\/th>\n<th style=\"padding: 12px 16px; text-align: left; background: #1d4ed8; color: #fff; font-weight: bold;\">Continuous Deployment<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\"><strong>Otomatik test<\/strong><\/td>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\">Var<\/td>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\">Var<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\"><strong>Da\u011f\u0131t\u0131ma haz\u0131rl\u0131k<\/strong><\/td>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\">Otomatik<\/td>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\">Otomatik<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\"><strong>Canl\u0131ya alma<\/strong><\/td>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\"><span style=\"color: #b45309; font-weight: bold;\">Genellikle manuel onayl\u0131<\/span><\/td>\n<td style=\"padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #e2e8f0;\"><span style=\"color: #1d4ed8; font-weight: bold;\">Otomatik<\/span><\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 12px 16px; vertical-align: top;\"><strong>Temel ama\u00e7<\/strong><\/td>\n<td style=\"padding: 12px 16px; vertical-align: top;\">Yaz\u0131l\u0131m\u0131 yay\u0131na haz\u0131r tutmak<\/td>\n<td style=\"padding: 12px 16px; vertical-align: top;\">Yaz\u0131l\u0131m\u0131 otomatik yay\u0131mlamak<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Bu ayr\u0131m, CI\/CD s\u00fcre\u00e7lerinin do\u011fru anla\u015f\u0131lmas\u0131 a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<h2 id=\"ci-cd-pipeline-nedir\"><span class=\"ez-toc-section\" id=\"CICD_Pipeline_Nedir_ve_Nasil_Calisir\"><\/span><span style=\"font-weight: 400;\">CI\/CD Pipeline Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD Pipeline, kod de\u011fi\u015fikli\u011finden yaz\u0131l\u0131m\u0131n da\u011f\u0131t\u0131m\u0131na kadar ger\u00e7ekle\u015ftirilen otomatik i\u015flemlerin s\u0131ral\u0131 i\u015f ak\u0131\u015f\u0131d\u0131r. Pipeline i\u00e7erisinde kod kontrol\u00fc, ba\u011f\u0131ml\u0131l\u0131klar\u0131n kurulmas\u0131, derleme, test ve da\u011f\u0131t\u0131m gibi a\u015famalar bulunabilir.<\/p>\n<figure style=\"margin: 1.5em 0;\"><img decoding=\"async\" class=\" wp-image-676 aligncenter\" src=\"https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir.webp\" alt=\"CI\/CD Pipeline nas\u0131l \u00c7al\u0131\u015f\u0131r?\" width=\"680\" height=\"277\" srcset=\"https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir.webp 1600w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-300x122.webp 300w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-1024x417.webp 1024w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-767x312.webp 767w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-1536x625.webp 1536w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-2048x833.webp 2048w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-369x150.webp 369w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-100x41.webp 100w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-860x350.webp 860w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-pipeline-nasil-calisir-788x320.webp 788w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/figure>\n<h3 id=\"git-deposuna-gonderme\"><span class=\"ez-toc-section\" id=\"Kod_Degisikliklerinin_Git_Deposuna_Gonderilmesi\"><\/span><span style=\"font-weight: 400;\">Kod De\u011fi\u015fikliklerinin Git Deposuna G\u00f6nderilmesi<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>CI\/CD s\u00fcreci genellikle geli\u015ftiricinin kod de\u011fi\u015fikliklerini GitHub veya GitLab gibi bir kaynak kod deposuna g\u00f6ndermesiyle ba\u015flar.<\/p>\n<p>\u00d6rnek olarak <code style=\"background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 5px; padding: 1px 6px; font-size: .9em; font-family: Consolas,Menlo,'Courier New',monospace;\">git push<\/code> i\u015flemi, \u00f6nceden tan\u0131mlanan bir pipeline&#8217;\u0131 tetikleyebilir. B\u00f6ylece yeni kodun kontrol edilmesi i\u00e7in manuel i\u015flem yap\u0131lmas\u0131 gerekmez.<\/p>\n<h3 id=\"build-ve-otomatik-test\"><span class=\"ez-toc-section\" id=\"Build_ve_Otomatik_Test_Asamalari\"><\/span><span style=\"font-weight: 400;\">Build ve Otomatik Test A\u015famalar\u0131<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Build a\u015famas\u0131nda yaz\u0131l\u0131m\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli dosyalar haz\u0131rlan\u0131r, ba\u011f\u0131ml\u0131l\u0131klar y\u00fcklenir ve gerekiyorsa kod derlenir. Ard\u0131ndan otomatik testler \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Bu testler birim testlerini, entegrasyon testlerini veya g\u00fcvenlik kontrollerini i\u00e7erebilir.<\/p>\n<div style=\"background: #fff6e8; border: 1px solid #f6d9ab; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #b45309;\">Test ba\u015far\u0131s\u0131z olursa<\/strong><\/p>\n<p style=\"margin: 0;\">Testlerden biri ba\u015far\u0131s\u0131z olursa pipeline durdurulabilir. B\u00f6ylece hatal\u0131 de\u011fi\u015fikliklerin sonraki a\u015famalara ge\u00e7mesi engellenebilir.<\/p>\n<\/div>\n<h3 id=\"deployment-ve-canliya-alma\"><span class=\"ez-toc-section\" id=\"Deployment_Dagitim_ve_Canliya_Alma\"><\/span><span style=\"font-weight: 400;\">Deployment (Da\u011f\u0131t\u0131m) ve Canl\u0131ya Alma<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Deployment, haz\u0131rlanan yaz\u0131l\u0131m s\u00fcr\u00fcm\u00fcn\u00fcn hedef \u00e7al\u0131\u015fma ortam\u0131na aktar\u0131lmas\u0131d\u0131r. Da\u011f\u0131t\u0131m geli\u015ftirme, test veya \u00fcretim ortam\u0131na yap\u0131labilir. Kullan\u0131lan CI\/CD modeline g\u00f6re \u00fcretim ortam\u0131na ge\u00e7i\u015f otomatik ger\u00e7ekle\u015ftirilebilir ya da manuel onay gerektirebilir.<\/p>\n<h2 id=\"ci-cd-araclari\"><span class=\"ez-toc-section\" id=\"CICD_Araclari_Nelerdir\"><\/span><span style=\"font-weight: 400;\">CI\/CD Ara\u00e7lar\u0131 Nelerdir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD s\u00fcre\u00e7lerini otomatikle\u015ftirmek i\u00e7in farkl\u0131 ara\u00e7lar kullan\u0131labilir. Bu ara\u00e7lar kod depolar\u0131yla entegre \u00e7al\u0131\u015farak test ve da\u011f\u0131t\u0131m i\u015f ak\u0131\u015flar\u0131n\u0131n y\u00f6netilmesini sa\u011flar.<\/p>\n<div style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 1.2em 0 1.4em;\">\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-top: 4px solid #1d4ed8; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; color: #0f172a; font-size: 1.05em;\">Jenkins<\/strong><span style=\"display: inline-block; margin-top: 6px; background: #eff6ff; color: #1d4ed8; border-radius: 6px; padding: 2px 8px; font-family: Consolas,Menlo,'Courier New',monospace; font-size: .8em; font-weight: bold;\">A\u00e7\u0131k kaynak<\/span><\/p>\n<p style=\"margin: 10px 0 0; font-size: .94em; color: #5b6575;\">Derleme, test ve da\u011f\u0131t\u0131m i\u015flemlerini otomatikle\u015ftiren a\u00e7\u0131k kaynakl\u0131 otomasyon sunucusu.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-top: 4px solid #1d4ed8; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; color: #0f172a; font-size: 1.05em;\">GitHub Actions<\/strong><span style=\"display: inline-block; margin-top: 6px; background: #eff6ff; color: #1d4ed8; border-radius: 6px; padding: 2px 8px; font-family: Consolas,Menlo,'Courier New',monospace; font-size: .8em; font-weight: bold;\">YAML i\u015f ak\u0131\u015flar\u0131<\/span><\/p>\n<p style=\"margin: 10px 0 0; font-size: .94em; color: #5b6575;\">GitHub depolar\u0131ndaki olaylara ba\u011fl\u0131 olarak otomatik i\u015f ak\u0131\u015flar\u0131 olu\u015fturur.<\/p>\n<\/div>\n<div style=\"flex: 1 1 230px; border: 1px solid #e2e8f0; border-top: 4px solid #1d4ed8; border-radius: 12px; padding: 16px 18px; background: #fff;\">\n<p><strong style=\"display: block; color: #0f172a; font-size: 1.05em;\">GitLab CI\/CD<\/strong><span style=\"display: inline-block; margin-top: 6px; background: #eff6ff; color: #1d4ed8; border-radius: 6px; padding: 2px 8px; font-family: Consolas,Menlo,'Courier New',monospace; font-size: .8em; font-weight: bold;\">.gitlab-ci.yml<\/span><\/p>\n<p style=\"margin: 10px 0 0; font-size: .94em; color: #5b6575;\">GitLab projelerinde derleme, test ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini y\u00f6netir.<\/p>\n<\/div>\n<\/div>\n<h3 id=\"jenkins\"><span class=\"ez-toc-section\" id=\"Jenkins\"><\/span><span style=\"font-weight: 400;\">Jenkins<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Jenkins, a\u00e7\u0131k kaynakl\u0131 bir otomasyon sunucusudur. Yaz\u0131l\u0131m projelerinde derleme, test ve da\u011f\u0131t\u0131m i\u015flemlerini otomatikle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Eklenti deste\u011fi sayesinde farkl\u0131 geli\u015ftirme ara\u00e7lar\u0131yla entegre edilebilir. Ancak kurulumu, g\u00fcncellenmesi ve y\u00f6netimi teknik bak\u0131m gerektirebilir.<\/p>\n<h3 id=\"github-actions\"><span class=\"ez-toc-section\" id=\"GitHub_Actions\"><\/span><span style=\"font-weight: 400;\">GitHub Actions<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>GitHub Actions, GitHub depolar\u0131ndaki olaylara ba\u011fl\u0131 olarak otomatik i\u015f ak\u0131\u015flar\u0131 olu\u015fturmay\u0131 sa\u011flar. \u00d6rnek olarak bir pull request a\u00e7\u0131ld\u0131\u011f\u0131nda testlerin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 veya ana dala kod g\u00f6nderildi\u011finde uygulaman\u0131n da\u011f\u0131t\u0131lmas\u0131 i\u00e7in kullan\u0131labilir. \u0130\u015f ak\u0131\u015flar\u0131 genellikle YAML dosyalar\u0131yla tan\u0131mlan\u0131r.<\/p>\n<h3 id=\"gitlab-ci-cd\"><span class=\"ez-toc-section\" id=\"GitLab_CICD\"><\/span><span style=\"font-weight: 400;\">GitLab CI\/CD<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>GitLab CI\/CD, GitLab projeleri i\u00e7erisinde derleme, test ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini y\u00f6netmek i\u00e7in kullan\u0131lan otomasyon sistemidir.<\/p>\n<p>Pipeline g\u00f6revleri <code style=\"background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 5px; padding: 1px 6px; font-size: .9em; font-family: Consolas,Menlo,'Courier New',monospace;\">.gitlab-ci.yml<\/code> dosyas\u0131 \u00fczerinden tan\u0131mlanabilir. \u0130\u015flemler GitLab Runner bile\u015fenleri arac\u0131l\u0131\u011f\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.<\/p>\n<div style=\"background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Ara\u00e7 se\u00e7imi<\/strong><\/p>\n<p style=\"margin: 0;\">Hangi arac\u0131n se\u00e7ilece\u011fi; mevcut kod deposuna, ekip deneyimine, altyap\u0131 ihtiya\u00e7lar\u0131na ve bak\u0131m kapasitesine g\u00f6re de\u011ferlendirilmelidir.<\/p>\n<\/div>\n<h2 id=\"ci-cd-pipeline-nasil-kurulur\"><span class=\"ez-toc-section\" id=\"CICD_Pipeline_Nasil_Kurulur\"><\/span><span style=\"font-weight: 400;\">CI\/CD Pipeline Nas\u0131l Kurulur?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD kurulumu i\u00e7in \u00f6ncelikle kaynak kodun bir s\u00fcr\u00fcm kontrol sisteminde tutulmas\u0131 ve otomatikle\u015ftirilecek i\u015flemlerin belirlenmesi gerekir. Ard\u0131ndan se\u00e7ilen CI\/CD arac\u0131 \u00fczerinden derleme, test ve da\u011f\u0131t\u0131m ad\u0131mlar\u0131 tan\u0131mlan\u0131r.<\/p>\n<h3 id=\"github-actions-ci-cd-ornegi\"><span class=\"ez-toc-section\" id=\"GitHub_Actions_ile_Basit_CICD_Ornegi\"><\/span><span style=\"font-weight: 400;\">GitHub Actions ile Basit CI\/CD \u00d6rne\u011fi<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>GitHub Actions kullan\u0131larak bir Node.js projesinin otomatik test edilmesi sa\u011flanabilir. Bunun i\u00e7in proje deposunda <code style=\"background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 5px; padding: 1px 6px; font-size: .9em; font-family: Consolas,Menlo,'Courier New',monospace;\">.github\/workflows\/ci.yml<\/code> dosyas\u0131 olu\u015fturulabilir.<\/p>\n<div style=\"background: #0f172a; border-radius: 12px; margin: .8em 0 1.3em; overflow: hidden;\">\n<div style=\"background: #1e293b; color: #94a3b8; font-size: .78em; font-weight: 600; padding: 8px 16px;\">.github\/workflows\/ci.yml<\/div>\n<div style=\"padding: 14px 16px; overflow-x: auto; font-family: Consolas,Menlo,'Courier New',monospace; font-size: .92em; color: #e2e8f0; white-space: pre; line-height: 1.7;\">\n<p>name: Node.js CI<\/p>\n<p>on:<br \/>\npush:<br \/>\nbranches: [main]<br \/>\npull_request:<br \/>\nbranches: [main]<\/p>\n<p>jobs:<br \/>\ntest:<br \/>\nruns-on: ubuntu-latest<\/p>\n<p>steps:<br \/>\n&#8211; uses: actions\/checkout@v4<\/p>\n<p>&#8211; uses: actions\/setup-node@v4<br \/>\nwith:<br \/>\nnode-version: &#8217;22&#8217;<br \/>\ncache: &#8216;npm&#8217;<\/p>\n<p>&#8211; name: Install dependencies<br \/>\nrun: npm ci<\/p>\n<p>&#8211; name: Run tests<br \/>\nrun: npm test<\/p>\n<\/div>\n<\/div>\n<p>Bu \u00f6rnekte ana dala kod g\u00f6nderildi\u011finde veya pull request a\u00e7\u0131ld\u0131\u011f\u0131nda GitHub Actions otomatik olarak \u00e7al\u0131\u015f\u0131r. Sistem Node.js ortam\u0131n\u0131 haz\u0131rlar, ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckler ve test komutunu \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<div style=\"background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Bilmekte fayda var<\/strong><\/p>\n<p style=\"margin: 0;\">\u0130\u015f ak\u0131\u015f\u0131n\u0131n ba\u015far\u0131l\u0131 olmas\u0131 i\u00e7in projede uygun <code style=\"background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 5px; padding: 1px 6px; font-size: .9em; font-family: Consolas,Menlo,'Courier New',monospace;\">package.json<\/code>, kilit dosyas\u0131 ve \u00e7al\u0131\u015fan bir test komutu bulunmal\u0131d\u0131r. Bu \u00f6rnek yaln\u0131zca CI a\u015famas\u0131n\u0131 ger\u00e7ekle\u015ftirir. Canl\u0131 ortama otomatik da\u011f\u0131t\u0131m i\u00e7in ayr\u0131ca bir deployment g\u00f6revi tan\u0131mlanmal\u0131d\u0131r.<\/p>\n<\/div>\n<h3 id=\"sunucuya-otomatik-dagitim\"><span class=\"ez-toc-section\" id=\"CICD_ile_Sunucuya_Otomatik_Dagitim\"><\/span><span style=\"font-weight: 400;\">CI\/CD ile Sunucuya Otomatik Da\u011f\u0131t\u0131m<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>CI\/CD s\u00fcre\u00e7leri testlerden ge\u00e7en uygulamalar\u0131n uzak sunuculara da\u011f\u0131t\u0131lmas\u0131nda da kullan\u0131labilir. \u00d6rnek olarak <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/turkishost.com\/vps-server\"><strong>VPS server<\/strong><\/a><\/span> \u00fczerinde \u00e7al\u0131\u015fan bir Node.js uygulamas\u0131 i\u00e7in \u015fu i\u015f ak\u0131\u015f\u0131 olu\u015fturulabilir:<\/p>\n<figure style=\"margin: 1.5em 0;\"><img decoding=\"async\" class=\" wp-image-677 aligncenter\" src=\"https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim.webp\" alt=\"CI\/CD Sunucuya Otomatik Da\u011f\u0131t\u0131m\" width=\"766\" height=\"280\" srcset=\"https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim.webp 1600w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-300x110.webp 300w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-1024x374.webp 1024w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-766x280.webp 766w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-1536x562.webp 1536w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-2048x749.webp 2048w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-410x150.webp 410w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-100x37.webp 100w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-957x350.webp 957w, https:\/\/turkishost.com\/blog\/wp-content\/uploads\/2026\/11\/ci-cd-sunucuya-otomatik-dagitim-788x288.webp 788w\" sizes=\"(max-width: 766px) 100vw, 766px\" \/><\/figure>\n<div style=\"margin: 1em 0 1.4em;\">\n<div style=\"display: flex; gap: 14px; align-items: flex-start; margin: 0 0 10px;\">\n<ul>\n<li>Geli\u015ftirici yeni kodu Git deposuna g\u00f6nderir.<\/li>\n<\/ul>\n<\/div>\n<div style=\"display: flex; gap: 14px; align-items: flex-start; margin: 0 0 10px;\">\n<ul>\n<li>CI sistemi ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckler ve testleri \u00e7al\u0131\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<\/div>\n<div style=\"display: flex; gap: 14px; align-items: flex-start; margin: 0 0 10px;\">\n<ul>\n<li>Ba\u015far\u0131l\u0131 s\u00fcr\u00fcm i\u00e7in da\u011f\u0131t\u0131m paketi haz\u0131rlan\u0131r.<\/li>\n<\/ul>\n<\/div>\n<div style=\"display: flex; gap: 14px; align-items: flex-start; margin: 0 0 10px;\">\n<ul>\n<li>Paket g\u00fcvenli ba\u011flant\u0131 \u00fczerinden hedef sunucuya aktar\u0131l\u0131r.<\/li>\n<\/ul>\n<\/div>\n<div style=\"display: flex; gap: 14px; align-items: flex-start; margin: 0 0 10px;\">\n<ul>\n<li>Uygulama kontroll\u00fc \u015fekilde yeniden ba\u015flat\u0131l\u0131r ve sa\u011fl\u0131k kontrolleri yap\u0131l\u0131r.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div style=\"background: #fff6e8; border: 1px solid #f6d9ab; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #b45309;\">G\u00fcvenli da\u011f\u0131t\u0131m i\u00e7in<\/strong><\/p>\n<p style=\"margin: 0;\">Bu i\u015flemlerin g\u00fcvenli \u015fekilde y\u00fcr\u00fct\u00fclebilmesi i\u00e7in SSH anahtarlar\u0131n\u0131n korunmas\u0131, da\u011f\u0131t\u0131m yetkilerinin s\u0131n\u0131rland\u0131r\u0131lmas\u0131 ve gerekli durumlarda manuel onay mekanizmalar\u0131n\u0131n kullan\u0131lmas\u0131 \u00f6nemlidir.<\/p>\n<\/div>\n<h2 id=\"ci-cd-avantajlari\"><span class=\"ez-toc-section\" id=\"CICD_Kullanmanin_Avantajlari_Nelerdir\"><\/span><span style=\"font-weight: 400;\">CI\/CD Kullanman\u0131n Avantajlar\u0131 Nelerdir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD, yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin standartla\u015ft\u0131r\u0131lmas\u0131na yard\u0131mc\u0131 olur. \u00d6zellikle s\u0131k g\u00fcncelleme yap\u0131lan projelerde tekrarlanan i\u015flemlerin otomatikle\u015ftirilmesi \u00f6nemli kolayl\u0131klar sa\u011flayabilir. Ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<div style=\"margin: 1em 0 1.3em;\">\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed #e2e8f0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span><strong>Daha h\u0131zl\u0131 g\u00fcncelleme:<\/strong> Yaz\u0131l\u0131m de\u011fi\u015fikliklerinin test ve da\u011f\u0131t\u0131m s\u00fcre\u00e7leri h\u0131zland\u0131r\u0131labilir.<\/div>\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed #e2e8f0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span><strong>Erken hata tespiti:<\/strong> Kod de\u011fi\u015fikliklerinden kaynaklanan baz\u0131 sorunlar canl\u0131 ortama ula\u015fmadan belirlenebilir.<\/div>\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed #e2e8f0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span><strong>Tutarl\u0131 da\u011f\u0131t\u0131m:<\/strong> Her s\u00fcr\u00fcmde ayn\u0131 i\u015flemlerin uygulanmas\u0131 sa\u011flanabilir.<\/div>\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed #e2e8f0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span><strong>Kolay takip:<\/strong> Test sonu\u00e7lar\u0131, da\u011f\u0131t\u0131m ge\u00e7mi\u015fi ve ba\u015far\u0131s\u0131z i\u015flemler kay\u0131t alt\u0131na al\u0131nabilir.<\/div>\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span><strong>Ekip verimlili\u011fi:<\/strong> Geli\u015ftiricilerin tekrarlanan manuel i\u015flemlere ay\u0131rd\u0131\u011f\u0131 zaman azalt\u0131labilir.<\/div>\n<\/div>\n<div style=\"background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #1d4ed8;\">Not<\/strong><\/p>\n<p style=\"margin: 0;\">CI\/CD kullan\u0131lmas\u0131, yaz\u0131l\u0131m\u0131n hatas\u0131z olaca\u011f\u0131n\u0131 veya da\u011f\u0131t\u0131mlar\u0131n hi\u00e7bir zaman kesintiye neden olmayaca\u011f\u0131n\u0131 garanti etmez. Otomasyonun g\u00fcvenilirli\u011fi, test kapsam\u0131na ve yap\u0131land\u0131rman\u0131n do\u011frulu\u011funa ba\u011fl\u0131d\u0131r.<\/p>\n<\/div>\n<h2 id=\"ci-cd-ve-devops-farki\"><span class=\"ez-toc-section\" id=\"CICD_ile_DevOps_Arasindaki_Fark_Nedir\"><\/span><span style=\"font-weight: 400;\">CI\/CD ile DevOps Aras\u0131ndaki Fark Nedir?<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD ve DevOps birbiriyle ili\u015fkili kavramlar olsa da ayn\u0131 anlama gelmez.<\/p>\n<div style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 1.2em 0 1.4em;\">\n<div style=\"flex: 1 1 280px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 14px; padding: 18px 20px;\">\n<p><strong style=\"display: block; font-size: 1.05em; color: #1d4ed8; margin-bottom: 6px;\">DevOps<\/strong><\/p>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>Geli\u015ftirme ve operasyon ekipleri aras\u0131ndaki i\u015f birli\u011fini, s\u00fcre\u00e7leri ve \u00e7al\u0131\u015fma k\u00fclt\u00fcr\u00fcn\u00fc geli\u015ftiren geni\u015f bir yakla\u015f\u0131md\u0131r.<\/div>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>Altyap\u0131 otomasyonu, izleme, g\u00fcvenlik, ekip ileti\u015fimi ve operasyonel s\u00fcre\u00e7leri de kapsayabilir.<\/div>\n<\/div>\n<div style=\"flex: 1 1 280px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 14px; padding: 18px 20px;\">\n<p><strong style=\"display: block; font-size: 1.05em; color: #1d4ed8; margin-bottom: 6px;\">CI\/CD<\/strong><\/p>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>DevOps i\u00e7inde kullan\u0131lan entegrasyon, test ve da\u011f\u0131t\u0131m uygulamalar\u0131n\u0131 ifade eder.<\/div>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; margin: 8px 0;\"><span style=\"flex: 0 0 22px; width: 22px; height: 22px; line-height: 22px; border-radius: 50%; background: #fff; color: #1d4ed8; font-weight: bold; font-size: .8em; text-align: center; margin-top: 2px;\">\u2022<\/span>Kod de\u011fi\u015fikliklerinin g\u00fcvenilir bi\u00e7imde haz\u0131rlanmas\u0131 ve da\u011f\u0131t\u0131lmas\u0131na odaklan\u0131r.<\/div>\n<\/div>\n<\/div>\n<p>Dolay\u0131s\u0131yla CI\/CD, DevOps uygulamalar\u0131n\u0131 destekleyen \u00f6nemli y\u00f6ntemlerden biridir.<\/p>\n<h2 id=\"ci-cd-guvenlik\"><span class=\"ez-toc-section\" id=\"CICD_Sureclerinde_Guvenlik_ve_Dikkat_Edilmesi_Gerekenler\"><\/span><span style=\"font-weight: 400;\">CI\/CD S\u00fcre\u00e7lerinde G\u00fcvenlik ve Dikkat Edilmesi Gerekenler<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CI\/CD sistemleri kaynak kod depolar\u0131na, sunuculara ve da\u011f\u0131t\u0131m ortamlar\u0131na eri\u015febildi\u011fi i\u00e7in g\u00fcvenlik a\u00e7\u0131s\u0131ndan dikkatli yap\u0131land\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<div style=\"background: #fdeeec; border: 1px solid #f4c7c2; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #c0362c;\">Ciddi riskler!<\/strong><\/p>\n<p style=\"margin: 0;\">Otomasyon sistemlerine gere\u011finden fazla yetki verilmesi, eri\u015fim bilgilerinin a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131 veya g\u00fcvenilmeyen kodlar\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 ciddi riskler olu\u015fturabilir.<\/p>\n<\/div>\n<h3 id=\"gizli-bilgilerin-korunmasi\"><span class=\"ez-toc-section\" id=\"Erisim_Anahtarlari_ve_Gizli_Bilgilerin_Korunmasi\"><\/span><span style=\"font-weight: 400;\">Eri\u015fim Anahtarlar\u0131 ve Gizli Bilgilerin Korunmas\u0131<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>API anahtarlar\u0131, SSH \u00f6zel anahtarlar\u0131 ve eri\u015fim belirte\u00e7leri do\u011frudan kaynak kod i\u00e7erisine yaz\u0131lmamal\u0131d\u0131r. Bu bilgiler, kullan\u0131lan CI\/CD platformunun g\u00fcvenli secret y\u00f6netimi \u00f6zellikleri \u00fczerinden saklanmal\u0131d\u0131r.<\/p>\n<div style=\"margin: 1em 0 1.3em;\">\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed #e2e8f0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span>API anahtarlar\u0131n\u0131 ve eri\u015fim belirte\u00e7lerini secret y\u00f6netimiyle saklay\u0131n.<\/div>\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed #e2e8f0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span>Da\u011f\u0131t\u0131m hesaplar\u0131na yaln\u0131zca ihtiya\u00e7 duyduklar\u0131 yetkileri verin.<\/div>\n<div style=\"display: flex; gap: 12px; align-items: flex-start; padding: 10px 0;\"><span style=\"flex: 0 0 24px; width: 24px; height: 24px; line-height: 24px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: bold; font-size: .85em; text-align: center; margin-top: 3px;\">\u2713<\/span>Kullan\u0131lan \u00fc\u00e7\u00fcnc\u00fc taraf bile\u015fenlerin g\u00fcvenilirli\u011fini de\u011ferlendirin.<\/div>\n<\/div>\n<h3 id=\"rollback-ve-yedekleme\"><span class=\"ez-toc-section\" id=\"Hatali_Dagitimlarda_Rollback_ve_Yedekleme\"><\/span><span style=\"font-weight: 400;\">Hatal\u0131 Da\u011f\u0131t\u0131mlarda Rollback ve Yedekleme<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Rollback, sorunlu bir yaz\u0131l\u0131m s\u00fcr\u00fcm\u00fcnden \u00f6nceki kararl\u0131 s\u00fcr\u00fcme geri d\u00f6nme i\u015flemidir. CI\/CD s\u00fcre\u00e7lerinde geri d\u00f6n\u00fc\u015f plan\u0131n\u0131n \u00f6nceden haz\u0131rlanmas\u0131, hatal\u0131 da\u011f\u0131t\u0131mlar\u0131n etkisini azaltabilir.<\/p>\n<div style=\"background: #fff6e8; border: 1px solid #f6d9ab; border-radius: 12px; padding: 16px 20px; margin: 1.3em 0;\">\n<p><strong style=\"display: block; margin-bottom: 4px; color: #b45309;\">Yaln\u0131zca dosyalar\u0131 geri almak yetmeyebilir!<\/strong><\/p>\n<p style=\"margin: 0;\">Uygulama dosyalar\u0131n\u0131 \u00f6nceki s\u00fcr\u00fcme d\u00f6nd\u00fcrmek her zaman yeterli de\u011fildir. Veritaban\u0131 \u015femas\u0131 de\u011fi\u015fiklikleri ve kullan\u0131c\u0131 verileri de dikkate al\u0131nmal\u0131d\u0131r. \u00d6zellikle kritik uygulamalarda da\u011f\u0131t\u0131m \u00f6ncesi yedekleme, s\u00fcr\u00fcm kontrol\u00fc ve sa\u011fl\u0131k kontrolleri birlikte planlanmal\u0131d\u0131r.<\/p>\n<\/div>\n<h2 id=\"sikca-sorulan-sorular\"><span class=\"ez-toc-section\" id=\"Sikca_Sorulan_Sorular\"><\/span><span style=\"font-weight: 400;\">S\u0131k\u00e7a Sorulan Sorular<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<style>#sp-ea-679 .spcollapsing { height: 0; overflow: hidden; transition-property: height;transition-duration: 300ms;}#sp-ea-679.sp-easy-accordion>.sp-ea-single {margin-bottom: 10px; border: 1px solid #e2e2e2; }#sp-ea-679.sp-easy-accordion>.sp-ea-single>.ea-header a {color: #444;}#sp-ea-679.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {background: #fff; color: #444;}#sp-ea-679.sp-easy-accordion>.sp-ea-single {background: #eee;}#sp-ea-679.sp-easy-accordion>.sp-ea-single>.ea-header a .ea-expand-icon { float: left; color: #444;font-size: 16px;}<\/style><div id=\"sp_easy_accordion-1794488337\"><div id=\"sp-ea-679\" class=\"sp-ea-one sp-easy-accordion\" data-ea-active=\"ea-click\" data-ea-mode=\"vertical\" data-preloader=\"\" data-scroll-active-item=\"\" data-offset-to-scroll=\"0\"><div class=\"ea-card ea-expand sp-ea-single\"><h3 class=\"ea-header\"><span class=\"ez-toc-section\" id=\"CICD_ogrenmek_zor_mu\"><\/span><a class=\"collapsed\" id=\"ea-header-6790\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse6790\" aria-controls=\"collapse6790\" href=\"#\" aria-expanded=\"true\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-minus\"><\/i> CI\/CD \u00f6\u011frenmek zor mu?<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3><div class=\"sp-collapse spcollapse collapsed show\" id=\"collapse6790\" data-parent=\"#sp-ea-679\" role=\"region\" aria-labelledby=\"ea-header-6790\"> <div class=\"ea-body\"><p><span style=\"font-weight: 400\">CI\/CD'nin temel mant\u0131\u011f\u0131n\u0131 \u00f6\u011frenmek i\u00e7in Git, otomatik testler ve yaz\u0131l\u0131m da\u011f\u0131t\u0131m s\u00fcre\u00e7leri hakk\u0131nda ba\u015flang\u0131\u00e7 d\u00fczeyinde bilgi yeterli olabilir. Ancak geli\u015fmi\u015f pipeline yap\u0131land\u0131rmalar\u0131, sunucu y\u00f6netimi ve g\u00fcvenlik i\u015flemleri daha fazla teknik deneyim gerektirebilir.<\/span><\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><span class=\"ez-toc-section\" id=\"CICD_icin_hangi_araclar_kullanilir\"><\/span><a class=\"collapsed\" id=\"ea-header-6791\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse6791\" aria-controls=\"collapse6791\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> CI\/CD i\u00e7in hangi ara\u00e7lar kullan\u0131l\u0131r?<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse6791\" data-parent=\"#sp-ea-679\" role=\"region\" aria-labelledby=\"ea-header-6791\"> <div class=\"ea-body\"><p><span style=\"font-weight: 400\">CI\/CD s\u00fcre\u00e7lerinde Jenkins, GitHub Actions, GitLab CI\/CD ve Azure Pipelines gibi ara\u00e7lar kullan\u0131labilir. Ara\u00e7 se\u00e7imi, projenin geli\u015ftirme ortam\u0131na ve otomasyon ihtiya\u00e7lar\u0131na g\u00f6re yap\u0131lmal\u0131d\u0131r.<\/span><\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><span class=\"ez-toc-section\" id=\"CICD_sadece_buyuk_projelerde_mi_kullanilir\"><\/span><a class=\"collapsed\" id=\"ea-header-6792\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse6792\" aria-controls=\"collapse6792\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> CI\/CD sadece b\u00fcy\u00fck projelerde mi kullan\u0131l\u0131r?<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse6792\" data-parent=\"#sp-ea-679\" role=\"region\" aria-labelledby=\"ea-header-6792\"> <div class=\"ea-body\"><p><span style=\"font-weight: 400\">Hay\u0131r. CI\/CD k\u00fc\u00e7\u00fck yaz\u0131l\u0131m projelerinde de kullan\u0131labilir. Tek geli\u015ftiricili projelerde bile otomatik testlerin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 ve da\u011f\u0131t\u0131m i\u015flemlerinin standartla\u015ft\u0131r\u0131lmas\u0131 fayda sa\u011flayabilir.<\/span><\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><span class=\"ez-toc-section\" id=\"CICD_ile_Git_ayni_sey_mi\"><\/span><a class=\"collapsed\" id=\"ea-header-6793\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse6793\" aria-controls=\"collapse6793\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> CI\/CD ile Git ayn\u0131 \u015fey mi?<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse6793\" data-parent=\"#sp-ea-679\" role=\"region\" aria-labelledby=\"ea-header-6793\"> <div class=\"ea-body\"><p><span style=\"font-weight: 400\">Git, kaynak kod de\u011fi\u015fikliklerini takip etmek i\u00e7in kullan\u0131lan bir s\u00fcr\u00fcm kontrol sistemidir. CI\/CD ise bu de\u011fi\u015fikliklerin otomatik olarak test edilmesi ve da\u011f\u0131t\u0131lmas\u0131yla ilgili s\u00fcre\u00e7leri kapsar. Git, CI\/CD i\u015f ak\u0131\u015flar\u0131n\u0131 tetiklemek i\u00e7in kullan\u0131labilir.<\/span><\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><span class=\"ez-toc-section\" id=\"CICD_icin_sunucu_gerekli_mi\"><\/span><a class=\"collapsed\" id=\"ea-header-6794\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse6794\" aria-controls=\"collapse6794\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> CI\/CD i\u00e7in sunucu gerekli mi?<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse6794\" data-parent=\"#sp-ea-679\" role=\"region\" aria-labelledby=\"ea-header-6794\"> <div class=\"ea-body\"><p><span style=\"font-weight: 400\">CI\/CD i\u015flemlerinin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 i\u00e7in bir y\u00fcr\u00fctme ortam\u0131na ihtiya\u00e7 vard\u0131r. Ancak bu ortam\u0131n kullan\u0131c\u0131 taraf\u0131ndan y\u00f6netilen fiziksel veya sanal bir sunucu olmas\u0131 zorunlu de\u011fildir. GitHub Actions gibi platformlar\u0131n sa\u011flad\u0131\u011f\u0131 bar\u0131nd\u0131r\u0131lan \u00e7al\u0131\u015fma ortamlar\u0131 da kullan\u0131labilir.<\/span><\/p><\/div><\/div><\/div><\/div><\/div>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udccc \u00d6ne \u00c7\u0131kan Noktalar CI\/CD ile alakal\u0131 bilmeniz gereken 5 kritik nokta; CI\/CD (Continuous Integration \/ Continuous Delivery veya Deployment), yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde kod de\u011fi\u015fikliklerinin otomatik olarak test edilmesini, haz\u0131rlanmas\u0131n\u0131 ve da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flayan uygulamalar b\u00fct\u00fcn\u00fcd\u00fcr. Continuous Integration (CI), geli\u015ftiricilerin kod de\u011fi\u015fikliklerini ortak bir depoda birle\u015ftirmesini ve bu de\u011fi\u015fikliklerin otomatik testlerden ge\u00e7irilmesini sa\u011flar. Continuous Delivery ve [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":675,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,5],"tags":[136,137,138,140,139],"offerexpiration":[],"class_list":["post-674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-yazilim","category-sunucu","tag-ci-cd","tag-ci-cd-nedir","tag-ci-cd-pipeline","tag-continuous-deployment","tag-continuous-integration"],"_links":{"self":[{"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/posts\/674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/comments?post=674"}],"version-history":[{"count":2,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/posts\/674\/revisions"}],"predecessor-version":[{"id":689,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/posts\/674\/revisions\/689"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/media\/675"}],"wp:attachment":[{"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/media?parent=674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/categories?post=674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/tags?post=674"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/turkishost.com\/blog\/wp-json\/wp\/v2\/offerexpiration?post=674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}