{"id":2672,"date":"2021-09-30T18:13:42","date_gmt":"2021-09-30T15:13:42","guid":{"rendered":"https:\/\/www.domainhizmetleri.com\/blog\/?p=2672"},"modified":"2023-03-07T09:53:49","modified_gmt":"2023-03-07T06:53:49","slug":"ci-cd-nedir","status":"publish","type":"post","link":"https:\/\/www.domainhizmetleri.com\/blog\/ci-cd-nedir\/","title":{"rendered":"CI\/CD Nedir?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Yaz\u0131 \u0130\u00e7eri\u011fi<\/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: #0a0a0a;color:#0a0a0a\" 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: #0a0a0a;color:#0a0a0a\" 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:\/\/www.domainhizmetleri.com\/blog\/ci-cd-nedir\/#CI_Nedir\" >CI Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.domainhizmetleri.com\/blog\/ci-cd-nedir\/#CD_Nedir\" >CD Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.domainhizmetleri.com\/blog\/ci-cd-nedir\/#CICDnin_Faydalari_Nelerdir\" >CI\/CD&#8217;nin Faydalar\u0131 Nelerdir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.domainhizmetleri.com\/blog\/ci-cd-nedir\/#Populer_Olan_CICD_Hizmeti_Saglayan_Firmalar\" >Pop\u00fcler Olan CI\/CD Hizmeti Sa\u011flayan Firmalar<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong>CI\/CD<\/strong> yaz\u0131l\u0131m\u0131n\u0131z\u0131 geli\u015ftirirken yap\u0131lan g\u00fcncellemelerin, yap\u0131lan testler sonras\u0131nda da\u011f\u0131t\u0131ma sunulma s\u00fcrecidir. \u00d6rnek verecek olursak local olarak yaz\u0131l\u0131m\u0131n\u0131z\u0131 geli\u015ftirdi\u011finizde sorunsuz olarak a\u00e7\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcr ve bunu bir hosta y\u00fckleme i\u015flemini ba\u015flat\u0131rs\u0131n\u0131z. Y\u00fckleme tamamland\u0131ktan sonra yaz\u0131l\u0131m\u0131n\u0131z\u0131n \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 fark edersiniz. Bunun sebebi local olarak olu\u015fturmu\u015f oldu\u011funuz yap\u0131land\u0131rma ile bar\u0131nd\u0131\u011f\u0131n\u0131z sunucu aras\u0131nda ki farkl\u0131 konfig\u00fcrasyonlar olabilmektedir. Bu nedenle b\u00fcy\u00fck firmalar yaz\u0131l\u0131mlar\u0131n\u0131 her sistemde uygun \u00e7al\u0131\u015fabilece\u011fini garanti alt\u0131na alabilmek i\u00e7in yaz\u0131l\u0131m\u0131 test edebilecek kontrol ekipleri ile \u00e7al\u0131\u015fmaya ba\u015flad\u0131lar. Tabii ki yaz\u0131l\u0131m ekibi ve test s\u00fcrecini y\u00f6neten ekip farkl\u0131 b\u00f6l\u00fcmler i\u00e7erisinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in ileti\u015fim problemlerinden dolay\u0131 yaz\u0131l\u0131m\u0131n da\u011f\u0131t\u0131m s\u00fcreci fazlas\u0131yla uzayabiliyor.<br><br>2009 y\u0131l\u0131nda bunu fark eden Patrick Debois, DevOps ad\u0131nda yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m modeli tasarlad\u0131. Bu model ile birlikte her i\u015fleyi\u015fin otomatik geli\u015fmesi gerekti\u011fi i\u00e7in CI (<strong>Continuous Integration<\/strong>)\/ CD (<strong>Continuous Delivery\/Deployment<\/strong>) ad\u0131nda bir s\u00fcre\u00e7 ile tan\u0131\u015fm\u0131\u015f olduk. <br><br><div class=\"mks_pullquote mks_pullquote_left\" style=\"width:300px; font-size: 16px; color: #000; background-color:;\"><strong>DevOps Nedir?<\/strong><br>Bir yaz\u0131l\u0131m\u0131n s\u00fcrekli g\u00fcncellenip m\u00fc\u015fteriye sunulmas\u0131 i\u00e7in gerekli ad\u0131mlar\u0131n tamam\u0131n\u0131 kontrol edecek ekiplerin, s\u00fcre\u00e7lerin ve kullan\u0131lan teknolojilerin birle\u015fti\u011fi bir prensiptir. Ekipler aralar\u0131nda koordine \u00e7al\u0131\u015fmas\u0131 sebebiyle, geli\u015ftirme, test ve yay\u0131nlama s\u00fcreci farkl\u0131 b\u00f6l\u00fcmler taraf\u0131ndan yap\u0131l\u0131yormu\u015f gibi d\u00fc\u015f\u00fcn\u00fclmeden sanki tek bir ekibin yapt\u0131\u011f\u0131 s\u00fcre\u00e7 gibi d\u00fc\u015f\u00fcn\u00fclmektedir. Bu sayede daha h\u0131zl\u0131 ve g\u00fcvenli \u015fekilde yaz\u0131l\u0131m\u0131n da\u011f\u0131t\u0131m\u0131 ve geli\u015ftirilme s\u00fcreci ilerlemektedir.<\/div> <div class=\"mks_separator\" style=\"height: 2px;\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CI_Nedir\"><\/span>CI Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>CI (Continuous Integration) &#8220;<strong>S\u00fcrekli Entegrasyon<\/strong>&#8221; anlam\u0131na gelir. Yaz\u0131l\u0131m geli\u015ftirme ve g\u00fcncelleme s\u00fcrecinde etkili bir yap\u0131d\u0131r. S\u00fcrekli entegrasyonun as\u0131l amac\u0131 yaz\u0131l\u0131m\u0131n\u0131zda yap\u0131lan s\u00fcrekli g\u00fcncellemeler, otomasyon yard\u0131m\u0131yla yapm\u0131\u015f oldu\u011funuz konfig\u00fcrasyonlara g\u00f6re g\u00fcncel dosyalar\u0131n\u0131z\u0131 derler ve \u00e7ok a\u00e7\u0131dan detayl\u0131 test i\u015flemlerinden ge\u00e7irir. <br><br>\u00d6rne\u011fin yaz\u0131l\u0131m\u0131n\u0131z\u0131 native olarak Windows ve Mac cihazlar i\u00e7in yay\u0131nlayacaks\u0131n\u0131z, bu test sistemi e\u011fer farkl\u0131 i\u015fletim sistemini test edebilecek yap\u0131daysa test s\u00fcreci ba\u015flat\u0131lacakt\u0131r. Yapm\u0131\u015f oldu\u011funuz konfig\u00fcrasyonlar ve se\u00e7imler dahilinde bulunan di\u011fer test denemelerini de ba\u015flatarak sizlere test sonucunu payla\u015facakt\u0131r.<br><br>Farkl\u0131 bir \u00f6rnek ise; diyelim ki bir internet sitesi projesi tasarlad\u0131n\u0131z. Bu siteyi localhost i\u00e7erisinde PHP 7.3 destekleyecek \u015fekilde olu\u015fturdunuz ve hosting i\u00e7erisine y\u00fcklemeden \u00f6nce CI \u00fczerinden test s\u00fcrecinden ge\u00e7irdiniz. E\u011fer konfig\u00fcrasyonunuz i\u00e7erisinde \u00f6zel teste tabi tutulmas\u0131n\u0131 istediyseniz, t\u00fcm PHP s\u00fcr\u00fcmlerinde \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131 kontrol edilecektir. <br><br>Yaz\u0131l\u0131m \u00fczerinde e\u011fer bir sorun tespit edilirse hangi dosya i\u00e7erisinde ve hangi kod blo\u011funda sorun veya bu hatan\u0131n neden oldu\u011funu sizlere bildirecektir. Herhangi bir sorun olmamas\u0131 durumunda sizlere testin ba\u015far\u0131l\u0131 oldu\u011funu belirtip e\u011fer CD yap\u0131s\u0131na sahipseniz, otomatik olarak yaz\u0131l\u0131m\u0131n\u0131z\u0131 CD yap\u0131land\u0131rman\u0131za iletecektir. Bu sayede yaz\u0131l\u0131m\u0131n\u0131z\u0131 g\u00fcncelleme i\u015flemlerinde hem zamandan tasarruf edebilir hem de t\u00fcm testlerin sa\u011fland\u0131\u011f\u0131 i\u00e7in g\u00fcvenli \u015fekilde payla\u015fmak istedi\u011finiz platformlara yaz\u0131l\u0131m\u0131n\u0131z\u0131 yay\u0131nlayabilirsiniz.<br><br>Otomatik olarak yaz\u0131l\u0131m\u0131n\u0131z\u0131n g\u00fcncellemelerini birle\u015ftirme, derleme ve test s\u00fcrecinden ge\u00e7irdi\u011fi i\u00e7in her g\u00fcn hatta her saat yaz\u0131l\u0131m\u0131n\u0131z\u0131 g\u00fcncelleyip g\u00fcvenli \u015fekilde yay\u0131nlama a\u015famas\u0131na ge\u00e7ebilirsiniz.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"428\" src=\"https:\/\/www.domainhizmetleri.com\/blog\/wp-content\/uploads\/CI-CD-1024x428.png\" alt=\"CI\/CD nedir\" class=\"wp-image-2744\" srcset=\"https:\/\/www.domainhizmetleri.com\/blog\/wp-content\/uploads\/CI-CD-1024x428.png 1024w, https:\/\/www.domainhizmetleri.com\/blog\/wp-content\/uploads\/CI-CD-300x126.png 300w, https:\/\/www.domainhizmetleri.com\/blog\/wp-content\/uploads\/CI-CD-990x414.png 990w, https:\/\/www.domainhizmetleri.com\/blog\/wp-content\/uploads\/CI-CD.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CD_Nedir\"><\/span>CD Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>CD (Continuous Delivery) &#8220;<strong>S\u00fcrekli Teslimat<\/strong>&#8221; anlam\u0131na gelir. S\u00fcrekli teslimat, yaz\u0131l\u0131m\u0131n\u0131z\u0131n yay\u0131nlama (deploy edilme) s\u00fcrecindeki kontrollerini ve i\u015f da\u011f\u0131l\u0131m\u0131n\u0131 y\u00f6netmeyi kolayla\u015ft\u0131ran bir yap\u0131d\u0131r. CI a\u015famas\u0131n\u0131 ge\u00e7en proje yay\u0131nlanmak istendi\u011finde CD s\u00fcrecine ge\u00e7mi\u015f olur. <\/p>\n\n\n\n<p>Bu s\u00fcre\u00e7 konfig\u00fcrasyonlarla ko\u015fulland\u0131r\u0131labilir. Yapaca\u011f\u0131n\u0131z ayarlar  sayesinde otomatik yay\u0131nlama i\u015flemine ge\u00e7ilmeden y\u00f6netiminize onay maili iletilebilir ve manuel onay sonucunda platformlara yay\u0131nlama i\u015flemi otomatik olarak ger\u00e7ekle\u015ftirilebilir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CICDnin_Faydalari_Nelerdir\"><\/span>CI\/CD&#8217;nin Faydalar\u0131 Nelerdir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Yap\u0131lan projenin geli\u015ftirme a\u015famas\u0131ndan, da\u011f\u0131t\u0131m s\u00fcrecine kadar her kontrol otomatik ve planl\u0131 olarak sa\u011fland\u0131\u011f\u0131 i\u00e7in en az hata ile projelerinizi yay\u0131nlayabileceksiniz. Bunun yan\u0131nda ekipler aras\u0131nda ileti\u015fim daha kolayla\u015faca\u011f\u0131 i\u00e7in zamandan ve karma\u015f\u0131kl\u0131ktan da uzak kal\u0131nabilecektir. Geri bildirim takibi ve al\u0131nan hatan\u0131n detayl\u0131 nedenlerini g\u00f6r\u00fcnt\u00fcleyerek g\u00fcncelleme s\u00fcreci daha sa\u011fl\u0131kl\u0131 ilerleyecektir. Her i\u015flem otomatik olarak ger\u00e7ekle\u015fti\u011fi i\u00e7in projeden ayr\u0131lan ki\u015filerin de\u011fi\u015fim s\u00fcrecinde sorun ya\u015fama riski en aza indirgenecektir. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Populer_Olan_CICD_Hizmeti_Saglayan_Firmalar\"><\/span>Pop\u00fcler Olan CI\/CD Hizmeti Sa\u011flayan Firmalar  <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/www.jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><\/a><a href=\"https:\/\/about.gitlab.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitLab<\/a>, <a href=\"https:\/\/www.jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Jetkins<\/a>,  <a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">CircleCI<\/a>, <a href=\"https:\/\/www.jetbrains.com\/teamcity\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">TeamCity<\/a>, <a href=\"https:\/\/travis-ci.org\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Travis CI<\/a>, <a href=\"https:\/\/www.atlassian.com\/software\/bamboo\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Bamboo<\/a> gibi pop\u00fcler sistemler \u00fczerinden CI\/CD hizmeti alabilirsiniz. Her firman\u0131n ay\u0131r\u0131c\u0131 \u00f6zellikleri oldu\u011fundan dolay\u0131 projenize uygun hizmeti almadan \u00f6nce bu firmalar\u0131n sundu\u011fu \u00f6zellikleri ara\u015ft\u0131rman\u0131z\u0131 \u00f6neririz.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CI\/CD yaz\u0131l\u0131m\u0131n\u0131z\u0131 geli\u015ftirirken yap\u0131lan g\u00fcncellemelerin, yap\u0131lan testler sonras\u0131nda da\u011f\u0131t\u0131ma sunulma s\u00fcrecidir. \u00d6rnek verecek olursak local olarak yaz\u0131l\u0131m\u0131n\u0131z\u0131 geli\u015ftirdi\u011finizde sorunsuz olarak a\u00e7\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcr ve bunu bir hosta y\u00fckleme i\u015flemini ba\u015flat\u0131rs\u0131n\u0131z. Y\u00fckleme tamamland\u0131ktan sonra yaz\u0131l\u0131m\u0131n\u0131z\u0131n \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 fark edersiniz. Bunun sebebi local olarak olu\u015fturmu\u015f oldu\u011funuz yap\u0131land\u0131rma ile bar\u0131nd\u0131\u011f\u0131n\u0131z sunucu aras\u0131nda ki farkl\u0131 konfig\u00fcrasyonlar olabilmektedir. Bu nedenle b\u00fcy\u00fck firmalar [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":2744,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[145],"tags":[151,152],"class_list":["post-2672","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nedir-nasil","tag-ci-cd","tag-devops"],"views":2219,"_links":{"self":[{"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/posts\/2672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/comments?post=2672"}],"version-history":[{"count":47,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/posts\/2672\/revisions"}],"predecessor-version":[{"id":5102,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/posts\/2672\/revisions\/5102"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/media\/2744"}],"wp:attachment":[{"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/media?parent=2672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/categories?post=2672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.domainhizmetleri.com\/blog\/wp-json\/wp\/v2\/tags?post=2672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}