Azure App Service için sürekli dağıtım
Azure App Service , en son güncelleştirmeleri çekerek GitHub, bitbucketve Azure Repos depolarından sürekli dağıtım yapılmasını mümkün.
Not
Dağıtım işlevinin önceki bir sürümü olan Azure portal Geliştirme Merkezi (klasik) sayfasında Mart 2021 ' de kullanım dışı bırakılmıştır. Bu değişiklik uygulamanızdaki mevcut dağıtım ayarlarını etkilemez ve portaldaki Dağıtım Merkezi sayfasından uygulama dağıtımını yönetmeye devam edebilirsiniz.
Depoyu hazırlama
Derleme sunucusundan otomatik derlemeleri Azure App Service için depo kök dizinde projenize doğru dosyaların olduğundan emin olun.
| Çalışma Zamanı | Kök dizin dosyaları |
|---|---|
| ASP.NET (Windows) | *.sln, *.csproj, veya default.aspx |
| ASP.NET Core | *.sln veya *.csproj |
| PHP | Index.php |
| Ruby (yalnızca Linux) | Gemfile |
| Node.js | server.js betiğiyleapp.js, package.jsveya yeniden başlatma |
| Python | * .py, requirements.txt veya runtime.txt |
| HTML | default.htm, default.html, default.asp, index.htm, index.html veya iisstart.htm |
| Web İşleri | <job_name>/run.<extension> Uygulama _ Verileri/işler/sürekli Web İşleri için sürekli veya Uygulama _ Verileri/işler/tetiklenen Web İşleri için tetiklenen altında. Daha fazla bilgi için Kudu WebJobs belgelerine bakın. |
| İşlevler | Bkz. sürekli dağıtım Azure İşlevleri. |
Dağıtımınızı özelleştirmek için depo köküne bir .deployment dosyası dahil olun. Daha fazla bilgi için bkz. Dağıtımları özelleştirme ve Özel dağıtım betiği.
Not
Visual Studio kullanıyorsanız, Visual Studio depo oluşturmanızı sağlar. Projeniz hemen Git aracılığıyla dağıtım için hazır olur.
Dağıtım kaynağını yapılandırma
Azure Portal, App Service uygulamanızın yönetim sayfasına gidin.
Sol bölmede Dağıtım Merkezi' ni seçin. Ayarlar öğesini seçin.
Kaynak kutusunda, CI/CD seçeneklerinden birini seçin:

Devam etmek için yapı sağlayıcınıza karşılık gelen sekmeyi seçin.
GitHub eylemler varsayılan yapı sağlayıcıdır. Sağlayıcıyı değiştirmek için, sağlayıcıyı Değiştir > App Service derleme hizmeti (kudu) > Tamam' ı seçin.
Not
App Service uygulamanızın yapı sağlayıcısı olarak Azure Pipelines kullanmak için cı/CD 'yi doğrudan Azure Pipelines ' den yapılandırın. App Service ' de yapılandırmayın. Azure Pipelines seçeneği yalnızca doğru yönde işaret eder.
GitHub ilk kez dağıtıyorsanız, yetkilendir ' i seçin ve yetkilendirme istemlerini izleyin. Farklı bir kullanıcının deposundan dağıtmak istiyorsanız, hesabı Değiştir' i seçin.
Azure hesabınıza GitHub yetkilendirdikten sonra cı/CD 'yi yapılandırmak için kuruluş, depo ve dalı seçin. Bir kuruluş veya depo bulamazsanız, GitHub üzerinde daha fazla izin etkinleştirmeniz gerekebilir. Daha fazla bilgi için bkz. kuruluşunuzun depolarına erişimi yönetme.
yapı sağlayıcısı olarak GitHub eylemler seçildiğinde, çalışma zamanı yığınını ve sürüm açılan listesini kullanarak istediğiniz iş akışı dosyasını seçebilirsiniz. Azure, bu iş akışı dosyasını, derleme ve dağıtım görevlerini işleyecek şekilde seçtiğiniz GitHub deposuna kaydeder. Değişikliklerinizi kaydetmeden önce dosyayı görmek için Önizleme dosyası' nı seçin.
Not
App Service uygulamanızın dil yığın ayarını algılar ve en uygun iş akışı şablonunu seçer. Farklı bir şablon seçerseniz, düzgün şekilde çalıştırılmamış bir uygulama dağıtabilir. daha fazla bilgi için bkz. GitHub eylemleri oluşturma sağlayıcısı 'nın çalışması.
Kaydet’i seçin.
Seçili depodaki ve daldaki yeni işlemeler artık App Service uygulamanıza sürekli olarak dağıtılır. İşlemeler ve dağıtımları Günlükler sekmesinde izleyebilirsiniz.
Sürekli dağıtımı devre dışı bırakma
Azure Portal, App Service uygulamanızın yönetim sayfasına gidin.
Sol bölmede Dağıtım Merkezi' ni seçin. sonra Ayarlar > bağlantıyı kes' i seçin:

varsayılan olarak, GitHub Actions iş akışı dosyası deponuzda korunur, ancak uygulamanıza dağıtımı tetiklemeye devam eder. Dosyayı deponuzdan silmek için iş akışı dosyasını Sil' i seçin.
Tamam’ı seçin.
Dağıtım sırasında uygulamama ne olur?
Resmi olarak desteklenen tüm dağıtım yöntemleri, uygulamanın /home/site/wwwroot klasöründeki dosyalarda değişiklik yapın. Bu dosyalar, uygulamalarınızı çalıştırmak için kullanılır. Bu nedenle, kilitli dosyalar nedeniyle dağıtım başarısız olabilir. Dosyaların hepsi aynı anda güncelleştirilmez olduğundan, uygulama dağıtım sırasında tahmin edilemez şekilde davranabilirsiniz. Bu davranış, müşteriye yönelik bir uygulama için istenmeyen bir davranıştır. Bu sorunlardan kaçınmanın birkaç yolu vardır:
- Paketinden çıkarmadan, uygulamanızıdoğrudan ZIP paketinden çalıştırın.
- Dağıtım sırasında uygulamayı durdurun veya çevrimdışı modu etkinleştirin. Daha fazla bilgi için bkz. Dağıtım sırasında kilitli dosyalarla ilgilenin.
- Otomatik değiştirme açık bir hazırlama yuvasına dağıtın.
GitHub eylemleri derleme sağlayıcısı nasıl kullanılır
GitHub eylemleri derleme sağlayıcısı, GitHub cı/CDiçin bir seçenektir. CI/CD 'yi ayarlamak için bu işlemleri tamamlar:
- derleme ve dağıtım görevlerini App Service için GitHub deponuza bir GitHub eylemleri iş akışı dosyası mevduın.
- uygulamanız için yayımlama profilini GitHub gizli dizi olarak ekler. İş akışı dosyası App Service kimlik doğrulaması için bu parolayı kullanır.
- İş akışı çalıştırma günlüklerinden bilgileri yakalar ve uygulamanızın dağıtım merkezindeki Günlükler sekmesinde görüntüler.
GitHub eylemleri yapı sağlayıcısını şu yollarla özelleştirebilirsiniz:
- GitHub deponuzda oluşturulduktan sonra iş akışı dosyasını özelleştirin. daha fazla bilgi için bkz. GitHub eylemler için iş akışı sözdizimi. İş akışının Azure/webapps-Deploy eylemiyle App Service için dağıttığınızdan emin olun.
- Seçilen dal korunuyorsa, yapılandırma kaydedilmeden iş akışı dosyasının önizlemesini devam edebilir ve sonra depoya el ile ekleyebilirsiniz. Bu yöntem, Azure portal günlük tümleştirmesi vermez.
- Yayımlama profili kullanmak yerine, Azure Active Directory bir hizmet sorumlusu kullanarak dağıtın.
Hizmet sorumlusu kullanarak kimlik doğrulama
Bu isteğe bağlı yapılandırma, varsayılan kimlik doğrulamanın oluşturulan iş akışı dosyasındaki yayımlama profilleriyle yerini alır.
Azure CLI'de az ad SP Create-for-RBAC komutunu kullanarak bir hizmet sorumlusu oluşturun. Aşağıdaki örnekte, <subscription-id> <group-name> ve <app-name> değerlerini kendi değerlerinizle değiştirin:
az ad sp create-for-rbac --name "myAppDeployAuth" --role contributor \ --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name> \ --sdk-authÖnemli
Güvenlik için, hizmet sorumlusu için gereken en düşük erişimi verin. Önceki örnekteki kapsam, kaynak grubunun tamamı değil, belirli App Service uygulamasıyla sınırlandırılmıştır.
Sonraki adımda, en üst düzey dahil olmak üzere tüm JSON çıkışını kaydedin
{}.GitHub, deponuzda Ayarlar > gizli dizileri > yeni bir gizli dizi ekle' yi seçin.
Azure CLı komutundan tüm JSON çıkışını gizli dizi değeri alanına yapıştırın. Gizli dizi gibi bir ad verin
AZURE_CREDENTIALS.Dağıtım Merkezi tarafından oluşturulan iş akışı dosyasında,
azure/webapps-deployaşağıdaki örneğe benzer şekilde (bir Node.js iş akışı dosyasından değiştirilir), adımı gözden geçirin:- name: Sign in to Azure # Use the GitHub secret you added. - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - name: Deploy to Azure Web App # Remove publish-profile. - uses: azure/webapps-deploy@v2 with: app-name: '<app-name>' slot-name: 'production' package: . - name: Sign out of Azure. run: | az logout
Diğer depolardan dağıtma
Windows uygulamalar için, Mercurial gibi portalın doğrudan desteklemediği bir bulut Git veya deposundan sürekli dağıtımı el ile yapılandırabilirsiniz. Kaynak açılan listesinde dış git ' i seçerek bunu yapabilirsiniz. Daha fazla bilgi için bkz. el ile adımları kullanarak sürekli dağıtımı ayarlama.