Azure İşlevleri için sürekli dağıtım

Azure İşlevleri, kaynak denetim deposunda yapılan değişiklikleri bağlı bir işlev uygulamasına sürekli olarak dağıtmanızı sağlar. Bu kaynak denetimi tümleştirmesi , bir kod güncelleştirmesinin projenizden Azure'a derleme, paketleme ve dağıtımı tetiklediği bir iş akışı sağlar.

Üretim yuvası için değil, her zaman hazırlama yuvası için sürekli dağıtım yapılandırmanız gerekir. Üretim yuvasını kullandığınızda kod güncelleştirmeleri Azure'da doğrulanmadan doğrudan üretime gönderilir. Bunun yerine, hazırlama yuvasına sürekli dağıtımı etkinleştirin, hazırlama yuvasındaki güncelleştirmeleri doğrulayın ve her şey düzgün çalıştıktan sonra hazırlama yuvası kodunu üretime değiştirebilirsiniz. Bir üretim yuvasına bağlanırsanız, bunu yalnızca üretim kalitesi kodunun tümleşik kod dalı haline getirdiğinden emin olun.

Bu makaledeki adımlarda, Azure portalındaki Dağıtım Merkezi'ni kullanarak Azure'daki işlev uygulamanıza sürekli kod dağıtımlarını yapılandırma adımları gösterilmektedir. Azure CLI'yi kullanarak sürekli tümleştirmeyi de yapılandırabilirsiniz. Bu adımlar bir hazırlamayı veya üretim yuvasını hedefleyebilir.

İşlevler, uygulamanıza sürekli dağıtım için şu kaynakları destekler:

Proje kodunuzu Azure DevOps'taki hizmetlerden biri olan Azure Repos'ta koruyun. Hem Git hem de Team Foundation Sürüm Denetimi destekler. Azure Pipelines derleme sağlayıcısı ile kullanılır. Daha fazla bilgi için bkz. Azure Repos nedir?

İşlev uygulamanızı bir dış Git deposuna da bağlayabilirsiniz, ancak bunun için el ile eşitleme gerekir. Dağıtım seçenekleri hakkında daha fazla bilgi için bkz. Azure İşlevleri'da dağıtım teknolojileri.

Not

Bu makalede ele alınan sürekli dağıtım seçenekleri yalnızca kod tabanlı dağıtımlara özeldir. Kapsayıcılı işlev uygulaması dağıtımları için bkz . Kapsayıcıların Azure'a sürekli dağıtımını etkinleştirme.

Gereksinimler

Azure'daki işlevler için dağıtım birimi işlev uygulamasıdır. Sürekli dağıtımın başarılı olması için projenizin dizin yapısının Azure İşlevleri beklenen temel klasör yapısıyla uyumlu olması gerekir. Azure İşlevleri Core Tools, Visual Studio Code veya Visual Studio kullanarak kod projenizi oluşturduğunuzda, doğru dizin yapısına sahip kod projeleri oluşturmak için Azure İşlevleri şablonları kullanılır. İşlev uygulamasındaki tüm işlevler aynı anda ve aynı pakette dağıtılır.

Sürekli dağıtımı etkinleştirdikten sonra, gerçeğin kaynağının başka bir yerde bulunduğu bilindiğinden Azure portalında işlev koduna erişim salt okunur olarak yapılandırılır.

Not

Dağıtım Merkezi, gelen ağ kısıtlamaları olan bir işlev uygulaması için sürekli dağıtımı etkinleştirmeyi desteklemez. Bunun yerine derleme sağlayıcısı iş akışını doğrudan GitHub veya Azure Pipelines'da yapılandırmanız gerekir. Bu iş akışları, işlev uygulamasıyla aynı sanal ağda şirket içinde barındırılan aracı (pipelines) veya şirket içinde barındırılan çalıştırıcı (GitHub) olarak da bir sanal makine kullanmanızı gerektirir.

Derleme sağlayıcısı seçme

Kod projenizi oluşturmak dağıtım işleminin bir parçasıdır. Belirli derleme işlemi, belirli dil yığınınıza, işletim sisteminize ve barındırma planınıza bağlıdır. Derlemeler, kendi barındırmanıza bağlı olarak yerel olarak veya uzaktan yapılabilir. Daha fazla bilgi için bkz . Uzak derleme.

Önemli

Daha fazla güvenlik için Azure Pipelines ve Gitub Actions dahil olmak üzere yönetilen kimlikleri destekleyen bir derleme sağlayıcısı kullanmayı göz önünde bulundurun. App Service (Kudu) hizmeti, temel yinelemeyi etkinleştirmenizi ve metin tabanlı kimlik bilgileriyle çalışmanızı gerektirir.

İşlevler şu derleme sağlayıcılarını destekler:

Azure Pipelines, Azure DevOps'taki hizmetlerden biridir ve Azure Repos projeleri için varsayılan derleme sağlayıcısıdır. GitHub'dan proje derlemek için İşlem Hatlarını da kullanabilirsiniz. İşlem Hatlarında, Azure İşlevleri dağıtmak için özel olarak tasarlanmış bir AzureFunctionApp görev vardır. Bu görev, projenin nasıl derleneceğini, paketleneceğini ve dağıtıldığını denetlemenizi sağlar. Yönetilen kimlikleri destekler.

Kaynak denetimi tümleştirmesini etkinleştirirken bu sağlayıcıların güçlü yönlerini ve sınırlamalarını göz önünde bulundurun. Belirli bir sağlayıcıdan yararlanmak için depo kaynak türünüzü değiştirmeniz gerekebilir.

Sürekli dağıtımı yapılandırma

Azure portalı, işlev uygulamalarınız için sürekli dağıtımı yapılandırmayı kolaylaştıran bir Dağıtım merkezi sağlar. Sürekli dağıtımı yapılandırmanın özel yolu hem kodunuzun bulunduğu kaynak denetimi deposunun türüne hem de seçtiğiniz derleme sağlayıcısına bağlıdır.

Azure portalında işlev uygulaması sayfanıza gidin ve sol bölmedeki Dağıtım'ın altında Dağıtım Merkezi'ni seçin.

Kaynak deponuzu seçtiğiniz Azure portalında İşlev uygulaması dağıtım merkezinin ekran görüntüsü.

Proje kodunuzun korunduğu Kaynak depo türünü şu desteklenen seçeneklerden birini seçin:

Azure Pipelines kullanan Azure Repos dağıtımları, işlev uygulamanızdan değil Azure DevOps portalında tanımlanır. Azure Repos'tan pipelines tabanlı dağıtım oluşturmaya yönelik adım adım kılavuz için bkz . Azure Pipelines ile sürekli teslim.

Dağıtım tamamlandıktan sonra, belirtilen kaynaktan gelen tüm kod uygulamanıza dağıtılır. Bu noktada, dağıtım kaynağındaki değişiklikler bu değişikliklerin Azure'daki işlev uygulamanızda dağıtımını tetikler.

Uygulama oluşturma sırasında sürekli dağıtımı etkinleştirme

Şu anda, Azure portalında işlev uygulamanızı oluştururken GitHub Actions'ı kullanarak GitHub'dan sürekli dağıtımı yapılandırabilirsiniz. Bunu, İşlev Uygulaması Oluştur sayfasındaki Dağıtım sekmesinde yapabilirsiniz.

Sürekli tümleştirme için farklı bir dağıtım kaynağı veya derleme sağlayıcısı kullanmak istiyorsanız, önce işlev uygulamanızı oluşturun, sonra portala dönün ve Dağıtım Merkezi'nde sürekli tümleştirmeyi ayarlayın.

Dağıtımlar için temel kimlik doğrulamasını etkinleştirme

Bazı durumlarda işlev uygulamanız, uç noktaya temel kimlik doğrulaması erişimi scm devre dışı bırakılmış şekilde oluşturulur. Bu, uç noktaya erişmek için yönetilen kimlikleri kullanemeyen tüm yöntemler tarafından yayımlamayı scm engeller. Uç noktanın devre dışı bırakılmasının scm yayımlama etkileri, Temel kimlik doğrulaması olmadan dağıtım bölümünde ayrıntılı olarak anlatılmıştır.

Önemli

Temel yineleme kullandığınızda, kimlik bilgileri düz metin olarak gönderilir. Bu kimlik bilgilerini korumak için, temel kimlik doğrulamasını scm kullanırken uç noktaya yalnızca şifreli bir bağlantı (HTTPS) üzerinden erişmeniz gerekir. Daha fazla bilgi için bkz . Güvenli dağıtım.

Uç noktada temel kimlik doğrulamasını scm etkinleştirmek için:

  1. Azure portalında işlev uygulamanıza gidin.

  2. Uygulamanın sol menüsünde Ayarlar>Yapılandırma>Genel ayarlar'ı seçin.

  3. SCM Temel Kimlik Doğrulama Yayımlama Kimlik Bilgilerini Açık olarak ayarlayın ve Kaydet'i seçin.

Sonraki adımlar