{"id":29483,"date":"2025-09-14T01:00:27","date_gmt":"2025-09-13T22:00:27","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/"},"modified":"2025-09-14T01:00:27","modified_gmt":"2025-09-13T22:00:27","slug":"github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/","title":{"rendered":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)"},"content":{"rendered":"<p>GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)<\/p>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r.  S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.  GitHub&#8217;\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure&#8217;un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!<\/p>\n<h2>GitHub Actions ve Azure Web Apps: Temel Kavramlar<\/h2>\n<p>\u00d6ncelikle, CI\/CD, GitHub Actions ve Azure Web Apps&#8217;in ne oldu\u011funu ve neden \u00f6nemli olduklar\u0131n\u0131 anlamam\u0131z gerekiyor.  CI\/CD, kod de\u011fi\u015fikliklerini s\u0131k s\u0131k ve otomatik olarak test edip, da\u011f\u0131tma s\u00fcrecini kapsar. Bu s\u00fcre\u00e7, hatalar\u0131 erken yakalamaya, geri bildirimi h\u0131zland\u0131rmaya ve daha h\u0131zl\u0131 yay\u0131nlara olanak tan\u0131r.  GitHub Actions, GitHub depolar\u0131n\u0131zda otomasyon \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yan bir platformdur.  Azure Web Apps ise, web uygulamalar\u0131n\u0131z\u0131 ve API&#8217;lerinizi bar\u0131nd\u0131rmak i\u00e7in kullan\u0131lan bulut tabanl\u0131 bir hizmettir.  Bu iki platformu bir araya getirerek, kodunuzdaki de\u011fi\u015fiklikleri otomatik olarak test edip, Azure&#8217;a da\u011f\u0131tabilirsiniz.<\/p>\n<p>Basit\u00e7e s\u00f6ylemek gerekirse, GitHub Actions, kod de\u011fi\u015fikliklerini alg\u0131lar, testleri \u00e7al\u0131\u015ft\u0131r\u0131r ve Azure Web Apps&#8217;e da\u011f\u0131t\u0131m yapar.  Bu, manuel i\u015flemleri ortadan kald\u0131r\u0131r ve geli\u015ftirme s\u00fcrecini \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r.  Ayr\u0131ca,  her da\u011f\u0131t\u0131mda tutarl\u0131l\u0131k sa\u011flar ve insan hatas\u0131 riskini azalt\u0131r.  Bu sistem,  hem k\u00fc\u00e7\u00fck hem de b\u00fcy\u00fck projeler i\u00e7in uygulanabilir ve \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcm sunar.  Bir sonraki b\u00f6l\u00fcmde,  pratik bir uygulama ile bu konsepti daha iyi anlayaca\u011f\u0131z.<\/p>\n<h2>Azure Web App&#8217;inizi Haz\u0131rlama: Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>\u0130lk ad\u0131m olarak, Azure portal\u0131nda bir Web App olu\u015fturman\u0131z gerekiyor.  Bu ad\u0131mda,  uygulaman\u0131z\u0131n hangi kaynak grubunda bar\u0131nd\u0131r\u0131laca\u011f\u0131n\u0131,  hangi uygulama hizmeti plan\u0131n\u0131 kullanaca\u011f\u0131n\u0131z\u0131 ve hangi \u00e7al\u0131\u015fma zaman\u0131n\u0131 (\u00f6rne\u011fin, Node.js, Python, .NET) se\u00e7ece\u011finizi belirlemeniz gerekecektir.  Azure portal\u0131nda yeni bir Web App olu\u015ftururken,  &#8220;Geli\u015fmi\u015f&#8221; se\u00e7eneklerine dikkat ederek, uygulama ayarlar\u0131n\u0131z\u0131 \u00f6zelle\u015ftirebilirsiniz. \u00d6rne\u011fin,  custom domain kullan\u0131m\u0131,  SSL sertifikas\u0131 kurulumu gibi detaylar\u0131 burada ayarlayabilirsiniz.  Ayr\u0131ca, uygulama i\u00e7in gerekli olan di\u011fer kaynaklar\u0131 (\u00f6rne\u011fin,  veritaban\u0131, depolama) da bu a\u015famada olu\u015fturabilirsiniz.  Uygulama olu\u015fturulduktan sonra,  da\u011f\u0131t\u0131m y\u00f6ntemini belirlemek i\u00e7in Azure Web Apps&#8217;in sa\u011flad\u0131\u011f\u0131 \u00e7e\u015fitli se\u00e7enekleri inceleyebilirsiniz. Bunlar aras\u0131nda FTP, Git, Docker gibi y\u00f6ntemler bulunmaktad\u0131r.  Bizim CI\/CD boru hatt\u0131m\u0131zda Git da\u011f\u0131t\u0131m\u0131 kullanaca\u011f\u0131z, dolay\u0131s\u0131yla bu se\u00e7ene\u011fi i\u015faretlemeniz \u00f6nemlidir.  Daha fazla bilgi i\u00e7in, resmi Azure belgelerini (https:\/\/docs.microsoft.com\/tr-tr\/azure\/) inceleyebilirsiniz.<\/p>\n<h2>GitHub Actions ile CI\/CD Boru Hatt\u0131 Olu\u015fturma: Ad\u0131m Ad\u0131m<\/h2>\n<p>\u015eimdi, GitHub deponuzda bir <code>.github\/workflows<\/code> dizini olu\u015fturun ve i\u00e7ine <code>main.yml<\/code> ad\u0131nda bir dosya ekleyin. Bu dosya, CI\/CD boru hatt\u0131n\u0131z\u0131 tan\u0131mlayacakt\u0131r.  A\u015fa\u011f\u0131da, basit bir Node.js uygulamas\u0131 i\u00e7in bir \u00f6rnek <code>main.yml<\/code> dosyas\u0131 bulunmaktad\u0131r:<\/p>\n<pre><code class=\"language-yaml\">name: Node.js CI\/CD\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions\/checkout@v3\n      - name: Use Node.js\n        uses: actions\/setup-node@v3\n        with:\n          node-version: 16\n      - run: npm install\n      - run: npm run build\n      - name: Deploy to Azure Web App\n        uses: azure\/webapps-deploy@v2\n        with:\n          app-name: ${{ secrets.AZURE_WEBAPP_NAME }}\n          slot-name: ${{ secrets.AZURE_SLOT_NAME }}\n          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}<\/pre>\n<p><\/code><\/p>\n<p>Bu dosyada, <code>on: push<\/code> b\u00f6l\u00fcm\u00fc, kod de\u011fi\u015fiklikleri <code>main<\/code> dal\u0131na push edildi\u011finde i\u015flemin tetiklenece\u011fini belirtir.  <code>jobs<\/code> b\u00f6l\u00fcm\u00fc ise, yap\u0131lacak i\u015flemleri tan\u0131mlar.  <code>uses: actions\/checkout@v3<\/code> ad\u0131m\u0131, deponuzu klonlar.  <code>uses: actions\/setup-node@v3<\/code> ad\u0131m\u0131, Node.js'i belirtilen versiyonda kurar.  <code>npm install<\/code> ve <code>npm run build<\/code> ad\u0131mlar\u0131, ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckler ve uygulamay\u0131 derler.  Son olarak, <code>uses: azure\/webapps-deploy@v2<\/code> ad\u0131m\u0131, uygulamay\u0131 Azure Web App'e da\u011f\u0131t\u0131r.  <code>secrets<\/code> anahtarlar\u0131, Azure Web App'inizin ad\u0131n\u0131, slot ad\u0131n\u0131 ve yay\u0131mlama profilini i\u00e7erir.  Bu anahtarlar\u0131 GitHub Secrets'te tan\u0131mlaman\u0131z gerekmektedir.  Bu anahtarlar\u0131 do\u011frudan kodunuza yazmaktan ka\u00e7\u0131n\u0131n, g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00e7ok \u00f6nemlidir.<\/p>\n<h2>Azure Web App Yay\u0131mlama Profilini Alma: Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>Azure portal\u0131nda Web App'inizin \"Geli\u015fmi\u015f\" ayarlar\u0131na gidin ve \"Yay\u0131mlama profilleri\" b\u00f6l\u00fcm\u00fcnden gerekli olan yay\u0131mlama profilini indirin.  Bu dosya,  Azure Web App'inize uygulaman\u0131z\u0131 da\u011f\u0131tmak i\u00e7in gerekli olan kimlik bilgilerini i\u00e7erir.  Bu dosyay\u0131 GitHub Secrets'te  <code>AZURE_WEBAPP_PUBLISH_PROFILE<\/code> ad\u0131yla saklaman\u0131z gerekmektedir.  <strong>Dikkat:<\/strong> Bu dosyay\u0131 GitHub deponuzda public olarak payla\u015fmamal\u0131s\u0131n\u0131z.  G\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00e7ok \u00f6nemlidir.  Yay\u0131mlama profilinizi gizli tutmak i\u00e7in GitHub Secrets \u00f6zelli\u011fini kullanman\u0131z gerekir.  Bu \u00f6zellik,  hassas bilgilerinizi kodunuzdan ayr\u0131 tutman\u0131z\u0131 sa\u011flar ve g\u00fcvenli\u011finizi art\u0131r\u0131r.  GitHub Secrets'in nas\u0131l kullan\u0131laca\u011f\u0131 hakk\u0131nda daha fazla bilgi i\u00e7in GitHub belgelerini inceleyebilirsiniz.<\/p>\n<h2>\u0130leri D\u00fczey Konular: Ortam De\u011fi\u015fkenleri ve G\u00fcvenlik<\/h2>\n<p>Daha geli\u015fmi\u015f CI\/CD s\u00fcre\u00e7leri i\u00e7in, ortam de\u011fi\u015fkenleri ve g\u00fcvenlik \u00f6nlemlerini kullanman\u0131z \u00f6nemlidir.  Ortam de\u011fi\u015fkenleri,  uygulaman\u0131z\u0131n yap\u0131land\u0131rma ayarlar\u0131n\u0131 deponuzdaki koddan ay\u0131rman\u0131za olanak tan\u0131r.  Bu, farkl\u0131 ortamlar (geli\u015ftirme, test, \u00fcretim) i\u00e7in farkl\u0131 ayarlar kullanman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r.  Ayr\u0131ca,  gizli bilgileri (\u00f6rne\u011fin, veritaban\u0131 ba\u011flant\u0131 dizileri, API anahtarlar\u0131) do\u011frudan kodunuzda saklamaktan ka\u00e7\u0131narak g\u00fcvenli\u011fi art\u0131rabilirsiniz.  GitHub Secrets,  bu gizli bilgileri g\u00fcvenli bir \u015fekilde saklamak ve uygulaman\u0131za eri\u015ftirmek i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr.  Daha ileri d\u00fczeyde,  uygulaman\u0131z\u0131n g\u00fcvenli\u011fini daha da art\u0131rmak i\u00e7in,  kodunuzun statik ve dinamik analizini ger\u00e7ekle\u015ftirmek,  g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etmek ve bunlar\u0131 gidermek i\u00e7in ek ad\u0131mlar ekleyebilirsiniz.  Bu ad\u0131mlar,  uygulaman\u0131z\u0131n g\u00fcvenli\u011fini art\u0131r\u0131r ve olas\u0131 sald\u0131r\u0131lara kar\u015f\u0131 korur.<\/p>\n<p>Ayr\u0131ca,  da\u011f\u0131t\u0131m \u00f6ncesi ve da\u011f\u0131t\u0131m sonras\u0131 senaryolar\u0131 \u00f6zelle\u015ftirebilirsiniz.  \u00d6rne\u011fin, da\u011f\u0131t\u0131m \u00f6ncesi ad\u0131mlarda,  uygulaman\u0131z\u0131n t\u00fcm testlerini \u00e7al\u0131\u015ft\u0131rabilir,  performans \u00f6l\u00e7\u00fcmlerini alabilirsiniz.  Da\u011f\u0131t\u0131m sonras\u0131 ad\u0131mlarda ise,  uygulaman\u0131z\u0131n ba\u015far\u0131l\u0131 bir \u015fekilde da\u011f\u0131t\u0131ld\u0131\u011f\u0131n\u0131 do\u011frulayabilir,  bildirimler g\u00f6nderebilirsiniz.  Bu \u00f6zelle\u015ftirmeler,  CI\/CD s\u00fcrecini daha sa\u011flam ve g\u00fcvenilir hale getirir.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131: Vaka Analizleri<\/h2>\n<p>\u00d6rne\u011fin,  bir e-ticaret uygulamas\u0131 geli\u015ftiriyorsunuz ve her yeni \u00f6zellik ekledikten sonra uygulamay\u0131 test etmek ve da\u011f\u0131tmak i\u00e7in uzun ve yorucu bir s\u00fcre\u00e7ten ge\u00e7iyorsunuz.  GitHub Actions ve Azure Web Apps ile bu s\u00fcreci otomatikle\u015ftirebilirsiniz.  Her kod de\u011fi\u015fikli\u011finde,  GitHub Actions otomatik olarak testleri \u00e7al\u0131\u015ft\u0131r\u0131r ve ba\u015far\u0131l\u0131 olursa,  uygulamay\u0131 Azure Web App'e da\u011f\u0131t\u0131r.  Bu,  daha h\u0131zl\u0131 geri bildirim d\u00f6ng\u00fcs\u00fc sa\u011flar ve hata d\u00fczeltme s\u00fcrecini h\u0131zland\u0131r\u0131r.  Benzer \u015fekilde,  bir mobil uygulama geli\u015ftiriyorsan\u0131z,  uygulaman\u0131n farkl\u0131 Android ve iOS s\u00fcr\u00fcmlerini otomatik olarak derleyebilir ve da\u011f\u0131tabilirsiniz.  Bu,  farkl\u0131 platformlarda uyumluluk testlerini kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>Ba\u015fka bir \u00f6rnek olarak,  bir API geli\u015ftirme projesini ele alal\u0131m.  Bu projede,  API'nin performans\u0131n\u0131 s\u00fcrekli izlemek ve gerekti\u011finde \u00f6l\u00e7eklendirmek \u00f6nemlidir.  GitHub Actions ile otomatik testler \u00e7al\u0131\u015ft\u0131rarak API'nin i\u015flevselli\u011fini ve performans\u0131n\u0131 do\u011frulayabilirsiniz.  Azure App Insights gibi ara\u00e7lar\u0131 kullanarak,  API'nin ger\u00e7ek zamanl\u0131 performans\u0131n\u0131 izleyebilir ve olas\u0131 sorunlar\u0131 erken tespit edebilirsiniz.  Bu veriler do\u011frultusunda,  Azure Web App'in \u00f6l\u00e7eklenebilirli\u011fini ayarlayabilir ve API'nin her zaman y\u00fcksek performans g\u00f6stermesini sa\u011flayabilirsiniz.  Bu \u00f6rnekler,  GitHub Actions ve Azure Web Apps'in farkl\u0131 uygulama t\u00fcrleri i\u00e7in nas\u0131l kullan\u0131labilece\u011fini g\u00f6stermektedir.<\/p>\n<h2>\u00d6\u011frenme Yol Haritas\u0131<\/h2>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> Temel GitHub ve Azure kavramlar\u0131n\u0131 \u00f6\u011frenin.  Basit bir \"Hello World\" uygulamas\u0131n\u0131 olu\u015fturun ve Azure'a da\u011f\u0131t\u0131n.  GitHub Actions'\u0131n temel yap\u0131s\u0131n\u0131 anlay\u0131n.<\/p>\n<p>* <strong>Orta:<\/strong>  Daha karma\u015f\u0131k bir uygulamay\u0131 olu\u015fturun ve CI\/CD boru hatt\u0131n\u0131 yap\u0131land\u0131r\u0131n.  Ortam de\u011fi\u015fkenlerini ve GitHub Secrets'i kullanmay\u0131 \u00f6\u011frenin.  Farkl\u0131 test t\u00fcrlerini (birim testi, entegrasyon testi) uygulay\u0131n.<\/p>\n<p>* <strong>\u0130leri D\u00fczey:<\/strong>  Karma\u015f\u0131k CI\/CD s\u00fcre\u00e7lerini tasarlay\u0131n ve uygulay\u0131n.  Canl\u0131 g\u00fcncellemeler,  A\/B testi gibi geli\u015fmi\u015f \u00f6zelliklere odaklan\u0131n.  G\u00fcvenlik \u00f6nlemlerini g\u00fc\u00e7lendirin ve izleme ara\u00e7lar\u0131n\u0131 entegre edin.  Daha fazla bilgi i\u00e7in (https:\/\/fatihsoysal.com) inceleyebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>GitHub Actions ve Azure Web Apps,  h\u0131zl\u0131 ve g\u00fcvenilir bir CI\/CD boru hatt\u0131 olu\u015fturmak i\u00e7in g\u00fc\u00e7l\u00fc bir kombinasyondur.  Bu makalede,  bu iki platformu nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 ve  uygulaman\u0131z\u0131n g\u00fcvenli\u011fini nas\u0131l art\u0131raca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz.  Unutmay\u0131n ki,  g\u00fcvenlik her zaman \u00f6nceliklidir ve  hassas bilgilerinizi do\u011fru \u015fekilde y\u00f6netmeniz \u00e7ok \u00f6nemlidir.  Bu makaledeki ad\u0131mlar\u0131 izleyerek,  geli\u015ftirme s\u00fcrecinizi otomatikle\u015ftirebilir ve  daha h\u0131zl\u0131 ve daha g\u00fcvenilir yaz\u0131l\u0131mlar geli\u015ftirebilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li><strong>GitHub Actions \u00fccretsiz mi?<\/strong>  Belirli bir \u00fccretsiz katman mevcuttur, ancak ileri d\u00fczey kullan\u0131m i\u00e7in \u00fccretli planlar gerekebilir.<\/li>\n<li><strong>Azure Web Apps'in maliyeti nedir?<\/strong>  Kullan\u0131m\u0131n\u0131za ba\u011fl\u0131 olarak de\u011fi\u015fen bir fiyatland\u0131rma modeli vard\u0131r.<\/li>\n<li><strong>Hangi programlama dillerini destekliyor?<\/strong>  Hem GitHub Actions hem de Azure Web Apps bir\u00e7ok programlama dilini destekler.<\/li>\n<li><strong>Hatalar\u0131 nas\u0131l d\u00fczeltebilirim?<\/strong>  GitHub Actions loglar\u0131n\u0131 inceleyerek ve Azure portal\u0131ndaki hata mesajlar\u0131n\u0131 kontrol ederek hatalar\u0131 bulabilirsiniz.<\/li>\n<li><strong>Daha fazla bilgi nerede bulabilirim?<\/strong>  GitHub ve Azure belgelerini inceleyebilirsiniz.  Ayr\u0131ca,  \u00e7e\u015fitli online kaynaklar ve topluluk forumlar\u0131 da yard\u0131mc\u0131 olabilir.<\/li>\n<\/ul>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik&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-29483","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>GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)<\/title>\n<meta name=\"description\" content=\"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r. S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. GitHub&#039;\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure&#039;un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!\" \/>\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\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)\" \/>\n<meta property=\"og:description\" content=\"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r. S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. GitHub&#039;\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure&#039;un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-13T22:00:27+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=\"9 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)\",\"datePublished\":\"2025-09-13T22:00:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\"},\"wordCount\":1645,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\",\"name\":\"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-13T22:00:27+00:00\",\"description\":\"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r. S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. GitHub'\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure'un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)\"}]},{\"@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":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)","description":"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r. S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. GitHub'\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure'un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!","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\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/","og_locale":"tr_TR","og_type":"article","og_title":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)","og_description":"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r. S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. GitHub'\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure'un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!","og_url":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-13T22:00:27+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"9 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)","datePublished":"2025-09-13T22:00:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/"},"wordCount":1645,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/","url":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/","name":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-13T22:00:27+00:00","description":"Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde h\u0131z ve g\u00fcvenilirlik olmazsa olmazd\u0131r. S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD) bu ihtiyac\u0131 kar\u015f\u0131layan \u00f6nemli bir yakla\u015f\u0131md\u0131r. Bu makalede, GitHub Actions ve Azure Web Apps kullanarak kodunuzdan buluta sorunsuz bir CI\/CD boru hatt\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. GitHub'\u0131n g\u00fc\u00e7l\u00fc otomasyon yetenekleri ve Azure'un \u00f6l\u00e7eklenebilir altyap\u0131s\u0131yla, h\u0131zl\u0131 ve g\u00fcvenilir bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc olu\u015fturabilirsiniz. Haz\u0131rsan\u0131z, ba\u015flayal\u0131m!","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/github-actions-ve-azure-web-apps-ile-surekli-entegrasyon-surekli-teslimat-ci-cd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"GitHub Actions ve Azure Web Apps ile S\u00fcrekli Entegrasyon\/S\u00fcrekli Teslimat (CI\/CD)"}]},{"@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\/29483","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=29483"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29483\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}