{"id":29060,"date":"2025-09-07T05:30:23","date_gmt":"2025-09-07T02:30:23","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/"},"modified":"2025-09-07T05:30:23","modified_gmt":"2025-09-07T02:30:23","slug":"butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/","title":{"rendered":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama"},"content":{"rendered":"<p>B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama<\/p>\n<p>Kubernetes&#8217;te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir.  Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.  &#8220;Ship small, ship often&#8221; felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes&#8217;e da\u011f\u0131tabilirsiniz.  Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.<\/p>\n<h2>Kubernetes ve CI\/CD Temelleri: Ba\u015flang\u0131\u00e7 Noktan\u0131z<\/h2>\n<p>Kubernetes, kapsay\u0131c\u0131l\u0131 uygulamalar\u0131n\u0131z\u0131 y\u00f6netmek i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynak bir platformdur.  CI\/CD ise kodunuzdan \u00e7al\u0131\u015ft\u0131r\u0131labilir bir uygulama olu\u015fturma, test etme ve da\u011f\u0131t\u0131m\u0131n\u0131 otomatikle\u015ftiren bir s\u00fcre\u00e7tir.  Bu iki kavram\u0131 birle\u015ftirerek, kod de\u011fi\u015fikliklerinizi h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde Kubernetes k\u00fcmenizde \u00e7al\u0131\u015ft\u0131rabilirsiniz.  \u00d6ncelikle, temel kavramlar\u0131 anlamak \u00f6nemlidir:<\/p>\n<p>* <strong>Docker:<\/strong> Uygulamalar\u0131n\u0131z\u0131 kapsay\u0131c\u0131lara paketlemek i\u00e7in kullan\u0131lan bir teknoloji.  Docker, uygulamalar\u0131n\u0131z\u0131n tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n* <strong>Kubernetes:<\/strong> Docker kapsay\u0131c\u0131lar\u0131n\u0131 y\u00f6netmek ve \u00f6l\u00e7eklendirmek i\u00e7in kullan\u0131lan bir orkestrasyon arac\u0131. Kubernetes, uygulamalar\u0131n\u0131z\u0131n y\u00fcksek kullan\u0131labilirli\u011fini ve \u00f6l\u00e7eklenebilirli\u011fini sa\u011flar.<br \/>\n* <strong>Helm:<\/strong> Kubernetes uygulamalar\u0131n\u0131 paketlemek ve da\u011f\u0131tmak i\u00e7in kullan\u0131lan bir paket y\u00f6neticisi. Helm, uygulamalar\u0131n\u0131z\u0131n y\u00f6netimini basitle\u015ftirir.<br \/>\n* <strong>GitHub Actions:<\/strong> GitHub \u00fczerinde kod deponuzda otomatik i\u015fler \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yan bir CI\/CD arac\u0131. GitHub Actions, CI\/CD boru hatt\u0131n\u0131z\u0131 kurmak i\u00e7in kullan\u0131\u015fl\u0131 ve \u00fccretsiz bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p>Bu temel kavramlar\u0131 anlad\u0131ktan sonra,  GitHub Actions ve Helm kullanarak CI\/CD boru hatt\u0131n\u0131z\u0131 kurmaya ba\u015flayabilirsiniz.  Daha fazla bilgi i\u00e7in,  [Fatih Soysal&#8217;\u0131n Kubernetes ve CI\/CD \u00fczerine yaz\u0131lar\u0131n\u0131](https:\/\/fatihsoysal.com) inceleyebilirsiniz.<\/p>\n<h2>GitHub Actions ile CI\/CD Boru Hatt\u0131 Kurulumu: Ad\u0131m Ad\u0131m<\/h2>\n<p>Bu b\u00f6l\u00fcmde, basit bir Node.js uygulamas\u0131n\u0131 GitHub Actions kullanarak Kubernetes&#8217;e da\u011f\u0131tmak i\u00e7in ad\u0131m ad\u0131m bir rehber sunaca\u011f\u0131z.<\/p>\n<p><strong>1. Ad\u0131m: Proje Haz\u0131rl\u0131\u011f\u0131:<\/strong><\/p>\n<p>\u00d6ncelikle, bir Node.js uygulamas\u0131 olu\u015fturun ve bir Dockerfile olu\u015fturarak uygulaman\u0131z\u0131 Docker kapsay\u0131c\u0131s\u0131na paketleyin.  Dockerfile \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-dockerfile\">FROM node:16\n\nWORKDIR \/app\n\nCOPY package*.json .\/\n\nRUN npm install\n\nCOPY . .\n\nCMD [ \"npm\", \"start\" ]<\/pre>\n<p><\/code><\/p>\n<pre><code class=\"language-yaml\"><strong>2. Ad\u0131m: Helm Chart Olu\u015fturma:<\/strong>\n\nHelm chart&#039;\u0131n\u0131z\u0131 olu\u015fturun.  Bu chart, Kubernetes&#039;e uygulaman\u0131z\u0131 nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 tan\u0131mlar.  Basit bir Helm chart \u00f6rne\u011fi:<\/pre>\n<p><\/code># Chart.yaml<br \/>\napiVersion: v2<br \/>\nname: my-node-app<br \/>\ndescription: A Helm chart for a simple Node.js application<br \/>\nversion: 0.1.0<\/p>\n<p># templates\/deployment.yaml<br \/>\napiVersion: apps\/v1<br \/>\nkind: Deployment<br \/>\nmetadata:<br \/>\n  name: {{ .Release.Name }}<br \/>\nspec:<br \/>\n  selector:<br \/>\n    matchLabels:<br \/>\n      app: {{ .Release.Name }}<br \/>\n  template:<br \/>\n    metadata:<br \/>\n      labels:<br \/>\n        app: {{ .Release.Name }}<br \/>\n    spec:<br \/>\n      containers:<br \/>\n      - name: {{ .Release.Name }}<br \/>\n        image: {{ .Values.image }}<br \/>\n        ports:<br \/>\n        - containerPort: 3000<\/code><\/p>\n<p><strong>3. Ad\u0131m: GitHub Actions Y\u00f6nergeleri:<\/strong><\/p>\n<p><code>.github\/workflows\/deploy.yml<\/code> dosyas\u0131n\u0131 olu\u015fturun ve a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code class=\"language-yaml\">name: Deploy to Kubernetes\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions\/checkout@v3\n\n      - name: Build and push Docker image\n        uses: docker\/build-push-action@v3\n        with:\n          context: .\n          push: true\n          tags: my-node-app:latest\n\n      - name: Deploy to Kubernetes\n        uses: helm\/helm@v3\n        with:\n          kubeconfig: ${{ secrets.KUBECONFIG }}\n          command: upgrade\n          args: --install my-node-app .<\/pre>\n<p><\/code><\/p>\n<p>Bu dosya, kodunuzu her <code>main<\/code> dal\u0131na itti\u011finizde Docker imaj\u0131n\u0131z\u0131 olu\u015fturup Kubernetes'e da\u011f\u0131tacakt\u0131r.  <code>secrets.KUBECONFIG<\/code> de\u011fi\u015fkeni, Kubernetes k\u00fcmenize eri\u015fim i\u00e7in gerekli olan kubeconfig dosyan\u0131z\u0131 i\u00e7ermelidir.<\/p>\n<h2>Helm'in G\u00fc\u00e7l\u00fc Y\u00f6nleri: Geli\u015fmi\u015f Kullan\u0131m Senaryolar\u0131<\/h2>\n<p>Helm, sadece basit uygulamalar i\u00e7in de\u011fil, karma\u015f\u0131k uygulamalar\u0131n da da\u011f\u0131t\u0131m\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.  Helm'in g\u00fc\u00e7l\u00fc y\u00f6nlerinden baz\u0131lar\u0131 \u015funlard\u0131r:<\/p>\n<p>* <strong>Tekrar Kullan\u0131labilirlik:<\/strong> Bir Helm chart'\u0131 birden fazla ortamda (geli\u015ftirme, test, \u00fcretim) tekrar kullanabilirsiniz.<br \/>\n* <strong>S\u00fcr\u00fcm Kontrol\u00fc:<\/strong> Helm chart'lar\u0131n\u0131z\u0131 s\u00fcr\u00fcm kontrol sisteminde y\u00f6netebilirsiniz.<br \/>\n* <strong>De\u011fi\u015fkenler:<\/strong>  Chart'lar\u0131n\u0131zda de\u011fi\u015fkenler kullanarak farkl\u0131 ortamlar i\u00e7in farkl\u0131 yap\u0131land\u0131rmalar olu\u015fturabilirsiniz.<br \/>\n* <strong>Dependencies:<\/strong>  Bir Helm chart'\u0131 di\u011fer chart'lara ba\u011f\u0131ml\u0131 hale getirebilirsiniz.<\/p>\n<h3>Helm ile Ortam Y\u00f6netimi: Geli\u015ftirme, Test ve \u00dcretim<\/h3>\n<p>Farkl\u0131 ortamlar i\u00e7in farkl\u0131 Helm de\u011fer dosyalar\u0131 (values.yaml) kullanarak, uygulaman\u0131z\u0131n yap\u0131land\u0131rmas\u0131n\u0131 her ortam i\u00e7in \u00f6zelle\u015ftirebilirsiniz. \u00d6rne\u011fin, geli\u015ftirme ortam\u0131nda farkl\u0131 bir veritaban\u0131 ba\u011flant\u0131 dizini kullanabilirken, \u00fcretim ortam\u0131nda farkl\u0131 bir konfig\u00fcrasyon kullanabilirsiniz.<\/p>\n<h2>G\u00fcvenlik En \u0130yi Uygulamalar\u0131: Riskleri Azaltma<\/h2>\n<p>CI\/CD boru hatt\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamak i\u00e7in a\u015fa\u011f\u0131daki \u00f6nlemleri almal\u0131s\u0131n\u0131z:<\/p>\n<div class=\"warning\">\n<h3>Dikkat!<\/h3>\n<p>Kubernetes gizli bilgilerinizi (\u00f6rne\u011fin, veritaban\u0131 \u015fifreleri) do\u011frudan kodunuza eklemeyin.  GitHub Secrets gibi g\u00fcvenli bir mekanizma kullan\u0131n.<\/p>\n<\/div>\n<p>* <strong>\u0130maj Taramas\u0131:<\/strong> Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 taray\u0131n.<br \/>\n* <strong>S\u0131k G\u00fcncellemeler:<\/strong>  GitHub Actions ve Helm'i g\u00fcncel tutun.<br \/>\n* <strong>Eri\u015fim Kontrol\u00fc:<\/strong>  Kubernetes k\u00fcmenize eri\u015fimi s\u0131n\u0131rlay\u0131n.<br \/>\n* <strong>Rol tabanl\u0131 eri\u015fim kontrol\u00fc (RBAC):<\/strong> Kubernetes k\u00fcmenizde RBAC kullanarak kullan\u0131c\u0131lar\u0131n ve hizmet hesaplar\u0131n\u0131n eri\u015fimini kontrol edin.<\/p>\n<h2>Performans Optimizasyonu: H\u0131zl\u0131 ve Verimli Da\u011f\u0131t\u0131m<\/h2>\n<p>CI\/CD boru hatt\u0131n\u0131z\u0131n performans\u0131n\u0131 optimize etmek i\u00e7in a\u015fa\u011f\u0131daki ipu\u00e7lar\u0131n\u0131 kullanabilirsiniz:<\/p>\n<p>* <strong>Paralelle\u015ftirme:<\/strong>  M\u00fcmk\u00fcn oldu\u011funca i\u015flemleri paralel \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n* <strong>Cacheleme:<\/strong>  Docker imajlar\u0131n\u0131 \u00f6nbelle\u011fe al\u0131n.<br \/>\n* <strong>Docker \u0130maj Boyutu:<\/strong> Docker imajlar\u0131n\u0131z\u0131n boyutunu k\u00fc\u00e7\u00fclt\u00fcn.<br \/>\n* <strong>Optimize Edilmi\u015f Helm Chart'lar:<\/strong>  Helm chart'lar\u0131n\u0131z\u0131 optimize ederek da\u011f\u0131t\u0131m s\u00fcrelerini k\u0131salt\u0131n.<\/p>\n<h2>\u0130leri D\u00fczey Konular: Kubernetes ve CI\/CD'nin \u00d6tesine<\/h2>\n<p>Deneyimli kullan\u0131c\u0131lar i\u00e7in baz\u0131 ileri d\u00fczey konular:<\/p>\n<p>* <strong>Canary Da\u011f\u0131t\u0131mlar\u0131:<\/strong>  Yeni s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc kademeli olarak da\u011f\u0131tmak i\u00e7in canary da\u011f\u0131t\u0131mlar\u0131n\u0131 kullan\u0131n.<br \/>\n* <strong>Blue\/Green Da\u011f\u0131t\u0131mlar\u0131:<\/strong>  Eski s\u00fcr\u00fcm\u00fc yedekte tutarak yeni s\u00fcr\u00fcm\u00fc da\u011f\u0131t\u0131n.<br \/>\n* <strong>Rollback Stratejileri:<\/strong>  Hatal\u0131 bir da\u011f\u0131t\u0131m durumunda h\u0131zl\u0131 bir \u015fekilde eski s\u00fcr\u00fcme geri d\u00f6nmek i\u00e7in rollback stratejileri olu\u015fturun.<br \/>\n* <strong>Otomatik \u00d6l\u00e7eklendirme:<\/strong>  Uygulaman\u0131z\u0131n y\u00fck\u00fcne g\u00f6re otomatik olarak \u00f6l\u00e7eklenmesini sa\u011flay\u0131n.<\/p>\n<h2>\u00d6\u011frenme Yol Haritas\u0131<\/h2>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> Kubernetes ve Docker temelleri, basit bir Helm chart olu\u015fturma ve GitHub Actions'\u0131 kullanarak temel bir da\u011f\u0131t\u0131m boru hatt\u0131 kurma.<br \/>\n* <strong>Orta Seviye:<\/strong>  Farkl\u0131 ortamlar i\u00e7in de\u011fer dosyalar\u0131 kullanma, daha karma\u015f\u0131k Helm chart'lar\u0131 olu\u015fturma ve g\u00fcvenlik en iyi uygulamalar\u0131n\u0131 uygulama.<br \/>\n* <strong>\u0130leri Seviye:<\/strong>  Canary ve Blue\/Green da\u011f\u0131t\u0131mlar\u0131, otomatik \u00f6l\u00e7eklendirme, geli\u015fmi\u015f izleme ve g\u00fcnl\u00fc\u011fe kaydetme stratejileri.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enize uygun bir Kubernetes CI\/CD boru hatt\u0131 kurmay\u0131 \u00f6\u011frendiniz.  \"Ship small, ship often\" felsefesiyle, uygulamalar\u0131n\u0131z\u0131 h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde da\u011f\u0131tabilirsiniz.  Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r. Daha fazla bilgi ve ileri d\u00fczey konular i\u00e7in [Fatih Soysal'\u0131n web sitesini](https:\/\/fatihsoysal.com) ziyaret edebilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<p>* <strong>Kubernetes k\u00fcmem i\u00e7in kubeconfig dosyas\u0131n\u0131 nas\u0131l al\u0131r\u0131m?<\/strong>  Kubernetes k\u00fcmenize ba\u011fl\u0131 olarak kubeconfig dosyas\u0131n\u0131 farkl\u0131 \u015fekillerde alabilirsiniz.  Genellikle <code>kubectl config view<\/code> komutu ile g\u00f6r\u00fcnt\u00fcleyebilirsiniz.<\/p>\n<p>* <strong>GitHub Secrets nas\u0131l kullan\u0131l\u0131r?<\/strong>  GitHub Secrets, GitHub deponuzda g\u00fcvenli bir \u015fekilde gizli bilgiler saklaman\u0131za olanak tan\u0131r.  GitHub Actions'ta bu gizli bilgilere eri\u015febilirsiniz.<\/p>\n<p>* <strong>Helm chart'lar\u0131m\u0131 nas\u0131l s\u00fcr\u00fcm y\u00f6netimi alt\u0131nda tutar\u0131m?<\/strong>  Helm chart'lar\u0131n\u0131z\u0131 Git gibi bir s\u00fcr\u00fcm kontrol sistemi kullanarak y\u00f6netebilirsiniz.<\/p>\n<p>* <strong>Docker imaj\u0131m\u0131 nas\u0131l k\u00fc\u00e7\u00fcltebilirim?<\/strong>  Docker imaj boyutunu k\u00fc\u00e7\u00fcltmek i\u00e7in \u00e7e\u015fitli teknikler mevcuttur, \u00f6rne\u011fin gereksiz dosyalar\u0131 kald\u0131rmak, multi-stage build kullanmak veya daha k\u00fc\u00e7\u00fck temel imajlar kullanmak.<\/p>\n<p>* <strong>Canary da\u011f\u0131t\u0131mlar\u0131 nas\u0131l \u00e7al\u0131\u015f\u0131r?<\/strong>  Canary da\u011f\u0131t\u0131mlar\u0131, yeni bir s\u00fcr\u00fcm\u00fc k\u00fc\u00e7\u00fck bir kullan\u0131c\u0131 alt k\u00fcmesine da\u011f\u0131tarak test etmenize olanak tan\u0131r.  Herhangi bir sorun yoksa, yeni s\u00fcr\u00fcm t\u00fcm kullan\u0131c\u0131lara da\u011f\u0131t\u0131l\u0131r.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama Kubernetes&#8217;te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck&hellip;","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":[1],"tags":[],"class_list":{"0":"post-29060","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama<\/title>\n<meta name=\"description\" content=\"Kubernetes&#039;te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir. Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. &quot;Ship small, ship often&quot; felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes&#039;e da\u011f\u0131tabilirsiniz. Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.\" \/>\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\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama\" \/>\n<meta property=\"og:description\" content=\"Kubernetes&#039;te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir. Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. &quot;Ship small, ship often&quot; felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes&#039;e da\u011f\u0131tabilirsiniz. Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-07T02:30:23+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=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama\",\"datePublished\":\"2025-09-07T02:30:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\"},\"wordCount\":1341,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\",\"name\":\"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-07T02:30:23+00:00\",\"description\":\"Kubernetes'te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir. Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. \\\"Ship small, ship often\\\" felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes'e da\u011f\u0131tabilirsiniz. Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama\"}]},{\"@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":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama","description":"Kubernetes'te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir. Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. \"Ship small, ship often\" felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes'e da\u011f\u0131tabilirsiniz. Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.","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\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/","og_locale":"tr_TR","og_type":"article","og_title":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama","og_description":"Kubernetes'te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir. Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. \"Ship small, ship often\" felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes'e da\u011f\u0131tabilirsiniz. Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-07T02:30:23+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama","datePublished":"2025-09-07T02:30:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/"},"wordCount":1341,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/","url":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/","name":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-07T02:30:23+00:00","description":"Kubernetes'te uygulama da\u011f\u0131t\u0131m\u0131, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler i\u00e7in zorlu ve maliyetli olabilir. Bu makalede, GitHub Actions ve Helm kullanarak b\u00fct\u00e7enizi zorlamadan s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) boru hatt\u0131n\u0131z\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. \"Ship small, ship often\" felsefesini benimseyerek, h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde uygulamalar\u0131n\u0131z\u0131 Kubernetes'e da\u011f\u0131tabilirsiniz. Bu rehber, yeni ba\u015flayanlardan deneyimli geli\u015ftiricilere kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/butcenize-uygun-kubernetes-ci-cd-github-actions-ve-helm-ile-kucuk-ve-sik-yayinlama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"B\u00fct\u00e7enize Uygun Kubernetes CI\/CD: GitHub Actions ve Helm ile K\u00fc\u00e7\u00fck ve S\u0131k Yay\u0131nlama"}]},{"@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\/29060","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=29060"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29060\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}