Azure App Service Görevi Dağıtma
| Parametreler | Açıklama |
|---|---|
ConnectionType(Bağlantı türü) | (Gerekli) Web Uygulamasını dağıtmak için kullanmak üzere hizmet bağlantı türünü seçin. Varsayılan değer: AzureRM |
Bağlı(Azure aboneliği) | (ConnectionType = AzureRM ise gereklidir) Dağıtım Azure Resource Manager aboneliğini seçin. Bağımsız değişken diğer adları: azureSubscription |
PublishProfilePath(Profil yolunu yayımla) | (ConnectionType = PublishProfile ise gereklidir) Yayımlama bilgilerini içeren dosyanın yolu. Varsayılan değer: $(System.DefaultWorkingDirectory)/**/*.pubxml |
PublishProfilePassword(Profil parolasını yayımla) | (ConnectionType = PublishProfile ise gereklidir) Profil dosyasının parolası. Parolayı bir gizli değişkende depolamayı ve bu değişkeni burada kullanmayı göz önünde bulundurabilirsiniz. Örnek: $(Parola) |
WebAppKind(App Service türü) | (ConnectionType = AzureRM ise gereklidir) Windows'da Web Uygulaması, Linux'ta Web Uygulaması, Kapsayıcılar için Web App, İşlev Uygulaması, Linux'ta İşlev Uygulaması, Kapsayıcılar için İşlev Uygulaması ve Mobil Uygulama'dan seçim Varsayılan değer: webApp Bağımsız değişken diğer adları: appType |
WebAppName(App Service adı) | (ConnectionType = AzureRM ise gereklidir) Mevcut bir uygulamanın adını girin veya Azure App Service. Yalnızca seçilen uygulama türünü temel alan Uygulama Hizmetleri listelenir. |
DeployTo(Yuvaya veya App Service Ortamı) | (İsteğe bağlı) Mevcut bir dağıtım yuvasına veya ortam ortamına dağıtma Azure App Service seçin. Her iki hedef için de görev bir Kaynak Grubu adı gerektirir. Dağıtım hedefi bir yuva ise, dağıtım varsayılan olarak üretim yuvasına yöneliktir. Başka bir mevcut yuva adı sağlanmalıdır. Dağıtım hedefi bir Azure App Service alanı ise yuva adını üretim olarak bırakın ve yalnızca Kaynak Grubu adını belirtin. Varsayılan değer: false Bağımsız değişken diğer adları: deployToSlotOrASE |
ResourceGroupName(Kaynak grubu) | (DeployToSlotOrASEFlag = true ise gereklidir) Dağıtım hedefi bir dağıtım yuvası veya bir dağıtım yuvası olduğunda Kaynak Grubu adı App Service gerekir. Yukarıda belirtilen kaynak grubunu içeren Azure Kaynak Grubunu Azure App Service seçin. |
SlotName(Yuva) | (DeployToSlotOrASEFlag = true ise gereklidir) Üretim yuvası dışında bir yuva girin veya mevcut yuvayı seçin. Varsayılan değer: üretim |
DockerNamespace(Kayıt Defteri veya Ad Alanı) | (WebAppKind = webAppContainer ise gereklidir veya WebAppkind = functionAppContainer) Özel kayıt defteriniz veya ad alanınız için genel olarak benzersiz bir üst düzey etki alanı adı. Not:Tam görüntü adı şu biçimde olacaktır: {kayıt defteri veya ad alanı}/{depo}:{etiket}. Örneğin, myregistry.azurecr.io/nginx:latest |
DockerRepository(Görüntü) | (WebAppKind = webAppContainer ise gereklidir veya WebAppkind = functionAppContainer) Kapsayıcı görüntülerinin depolandığı deponun adı. Not: Tam görüntü adı şu biçimde olacaktır: {kayıt defteri veya ad alanı}/{depo}:{etiket}. Örneğin, myregistry.azurecr.io/nginx:latest |
DockerImageTag(Etiket) | (İsteğe bağlı) Etiketler isteğe bağlıdır, ancak kayıt defterleri Docker görüntülerine sürüm bilgilerini uygulamak için kullanır. Not: Tam görüntü adı şu biçimde olacaktır: {kayıt defteri veya ad alanı}/{depo}:{etiket}. Örneğin, myregistry.azurecr.io/nginx:latest |
VirtualApplication(Sanal uygulama) | (İsteğe bağlı) Sanal Uygulamada yapılandırılan Sanal Uygulamanın adını Azure portal. Bu seçenek, web sitesi köküne yapılan dağıtımlar için gerekli değildir. Sanal Uygulama, web projesinin dağıtımı öncesinde yapılandırılmış olması gerekir. |
Package(Paket veya klasör) | (ConnectionType = PublishProfile veya WebAppKind = webApp, apiApp, functionApp, mobileApp, webAppLinux veya functionAppLinux ise gereklidir) Paketin veya dosyanın dosya yolu, App Service tarafından oluşturulan MSBuild sıkıştırılmış zip ya da war dosyası içeren bir klasör. Derleme değişkenleriveya yayın değişkenleri) ve joker karakterler de kullanılabilir. Örneğin $(System.DefaultWorkingDirectory)/**/*.zip veya $(System.DefaultWorkingDirectory)/**/*.war olabilir.Varsayılan değer: $(System.DefaultWorkingDirectory)/**/*.zip Bağımsız değişken diğer adları: packageForLinux |
RuntimeStack(Çalışma Zamanı Yığını) | (İsteğe bağlı) Çerçeveyi ve sürümü seçin. Bu, Linux için WebApp'e özeldir. |
RuntimeStackFunction(Çalışma Zamanı Yığını) | (İsteğe bağlı) Çerçeveyi ve sürümü seçin. Bu, Linux'ta İşlev Uygulaması için. |
StartupCommand(Başlangıç komutu) | (İsteğe bağlı) start up komutunu girin. |
ScriptType(Dağıtım betiği türü) | (İsteğe bağlı) Başarılı bir dağıtımdan sonra dağıtımda çalışan bir betik sağlayarak Azure App Service özelleştirin. Satır içi dağıtım betiği veya bir betik dosyasının yolunu ve adını seçin. Daha fazla bilgi edinin. |
InlineScript(Satır Içi Betik) | (ScriptType == Satır Içi Betik ise gereklidir) Yürütülecek betik. Dağıtım komutlarınızı burada, her satırda bir komut olacak şekilde sebilirsiniz. Bu örneğe bakın. |
ScriptPath(Dağıtım betiği yolu) | (ScriptType == Dosya Yolu ise gereklidir) Yürütülecek betiğin yolu ve adı. |
Web(Python, web.config, Go ve Java Node.js için farklı parametreler oluşturun) | (İsteğe bağlı) Uygulamanın web.config standart bir Azure App Service oluşturulacak ve dağıtılacaktır. Uygulama web.config düzenlenemez ve uygulama çerçevesine göre değişiklik gösterir. Örneğin, Node.js için, web.config başlangıç dosyası ve modül iis_node değerlerine sahip olur. Bu düzenleme özelliği yalnızca oluşturulan web.config için. Daha fazla bilgi edinin. |
AppSettings(Uygulama ayarları) | (İsteğe bağlı) söz dizimi -key değerini kullanarak web uygulaması Uygulama ayarlarını düzenleyin. Boşluk içeren değerlerin çift tırnak içine alınmış olması gerekir. Örnekler: -Port 5000 -RequestTimeout 5000ve -WEBSITE_TIME_ZONE "Doğu Standart Saati". |
ConfigurationSettings(Yapılandırma ayarları) | (İsteğe bağlı) söz dizimi -key değerini kullanarak web uygulaması yapılandırma ayarlarını düzenleyin. Boşluk içeren değerlerin çift tırnak içine alınmış olması gerekir. Örnek: -phpversion 5,6-linuxFxVersion: node | 6.11 |
UseWebDeploy(Dağıtım yöntemini seçin) | Seçim İşaretlenmezse, görev uygulama türü, paket biçimi ve diğer parametrelere göre en iyi dağıtım yöntemini otomatik olarak algılar. Desteklenen dağıtım yöntemlerini görüntüleme seçeneğini belirleyin ve uygulamanızı dağıtmak için bir tane seçin. Bağımsız değişken diğer adları: enableCustomDeployment |
DeploymentType(Dağıtım yöntemi) | (UseWebDeploy = = true ise gereklidir) Uygulama için dağıtım yöntemini seçin. Varsayılan değer: webDeploy |
TakeAppOfflineFlag(Uygulamayı çevrimdışına al) | Seçim Eşitleme işlemi başlamadan önce kök dizinine bir app_offline.htm dosyası yerleştirerek Azure App Service çevrimdışına almak için bu seçeneği belirleyin. Eşitleme başarıyla tamamlandıktan sonra dosya kaldırılacak. Varsayılan değer: true |
SetParametersFile(SetParameters dosyası) | (İsteğe bağlı) kullanılacak SetParameters.xml dosyasının konumu. |
Removeek(Hedefteki ek dosyaları Kaldır) | Seçim App Service pakette veya klasöründe eşleşen dosya olmayan Azure App Service dosyaları silme seçeneğini belirleyin. Note: Bu, Ayrıca bu Azure App Service yüklü olan uzantılara ilişkin tüm dosyaları da kaldırır. Bu ayarı engellemek için dosyaları App_Data klasörden hariç tut onay kutusunu işaretleyin. Varsayılan değer: false |
ExcludeFiles(Dosyaları App_Data klasörden hariç tut) | Seçim App_Data klasördeki dosyaların Azure App Service dağıtılmasını veya silinmesini önleme seçeneğini belirleyin. Varsayılan değer: true |
AdditionalArguments(Ek bağımsız değişkenler) | Seçim Sözdizimi anahtarı: değer' i izleyen ek Web dağıtımı bağımsız değişkenleri. Bunlar, Azure App Service dağıtıldığında uygulanır. Örnek: -disablelink: Apppoolexger-disablelink: ContentExtension.Daha fazla örnek. Varsayılan değer: -retryAttempts: 6-RetryInterval: 10000 |
RenameFilesFlag(Kilitli dosyaları yeniden adlandır) | Seçim Azure App Service uygulama ayarlarında MSDeploy bayrağını MSDEPLOY_RENAME_LOCKED_FILES = 1 ' i etkinleştirmek için bu seçeneği belirleyin. Ayarlandığında, MSDeploy 'ın uygulama dağıtımı sırasında kilitlenen dosyaları yeniden adlandırmasına olanak sağlar. Varsayılan değer: true |
XmlTransformation(XML dönüşümü) | Seçim Yapılandırma dönüştürmeleri . Release.config ve için çalıştırılacak . { EnvironmentName} , * .config dosyalarında .config. Yapılandırma dönüştürmeleri, değişken değiştirme işleminden önce çalışır. XML dönüştürmeleri yalnızca Windows platformu için desteklenir. Daha fazla bilgi edinin. Varsayılan değer: false Bağımsız değişken diğer adları: enableXmlTransform |
XmlVariable(XML değişkeni değiştirme) | Seçim Derleme veya sürüm ardışık düzeninde tanımlanan değişkenler, herhangi bir yapılandırma dosyasının ve parameters.xml dosyasının appSettings, ApplicationSettingsve connectionStrings bölümlerinde yer alacak anahtar veya ad girişleriyle eşleştirilir. Değişken değiştirme, yapılandırma dönüşümlerinden sonra çalışır. Note: yayın ardışık düzeninde ve aşamada aynı değişkenler tanımlanırsa, aşama değişkenleri yayın ardışık düzen değişkenlerinin yerini alır. Daha fazla bilgi edinin Varsayılan değer: false Bağımsız değişken diğer adları: enableXmlVariableSubstitution |
JSONFiles(JSON değişken değiştirme) | Seçim Değişken değerlerini değiştirmek için, yeni bir JSON dosyaları listesi sağlayın. Dosya adları kök klasöre göreli olmalıdır. İç içe geçmiş veya hiyerarşik olan JSON değişkenlerini değiştirmek için, JSONPath ifadelerini kullanarak bunları belirtin. Örneğin, aşağıdaki örnekteki ConnectionString öğesinin değerini değiştirmek için, derleme veya sürüm ardışık düzeninde (veya sürüm ardışık düzen aşamasında) Data. DefaultConnection. ConnectionString adlı bir değişken tanımlayın. { "Veri": { "DefaultConnection": { "ConnectionString": "Server = (LocalDB) \SQLEXPRESS; Database = MyDB; Trusted_Connection = true " } } } Değişken değiştirme, yapılandırma dönüşümlerinden sonra çalışır. Note: derleme ve serbest bırakma işlem hattı değişkenleri değiştirme dışında tutulur. Daha fazla bilgi edinin. |
Bu YAML örneği bir Azure Web uygulaması kapsayıcısına (Linux) dağıtılır.
pool:
vmImage: ubuntu-latest
variables:
azureSubscriptionEndpoint: Contoso
DockerNamespace: contoso.azurecr.io
DockerRepository: aspnetcore
WebAppName: containersdemoapp
steps:
- task: AzureRMWebAppDeployment@4
displayName: Azure App Service Deploy
inputs:
appType: webAppContainer
ConnectedServiceName: $(azureSubscriptionEndpoint)
WebAppName: $(WebAppName)
DockerNamespace: $(DockerNamespace)
DockerRepository: $(DockerRepository)
DockerImageTag: $(Build.BuildId)
bir web uygulamasını dağıtım yuvaları genelinde Windows App Service dağıtan başka bir örnek aşağıda verilmiştir.
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- stage: DeployDevStage
displayName: 'Deploy App to Dev Slot'
jobs:
- job: DeployApp
displayName: 'Deploy App'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'drop'
targetPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Fabrikam Azure Subscription - PartsUnlimited'
appType: 'webApp'
WebAppName: 'partsunlimited'
deployToSlotOrASE: true
ResourceGroupName: 'rgPartsUnlimited'
SlotName: 'Dev'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
- stage: DeployStagingStage
displayName: 'Deploy App to Staging Slot'
dependsOn: DeployDevStage
jobs:
- job: DeployApp
displayName: 'Deploy App'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'drop'
targetPath: '$(System.DefaultWorkingDirectory)'
- task: AzureRmWebAppDeployment@4
inputs:
appType: webApp
ConnectionType: AzureRM
ConnectedServiceName: 'Fabrikam Azure Subscription - PartsUnlimited'
ResourceGroupName: 'rgPartsUnlimited'
WebAppName: 'partsunlimited'
Package: '$(System.DefaultWorkingDirectory)/**/*.zip'
deployToSlotOrASE: true
SlotName: 'staging'
belirli bir uygulama türüne dağıtmak için,
appTypeaşağıdaki kabul edilen değerlerden herhangi birine ayarlayın:webApp(Windows web uygulaması), (linux üzerinde web uygulaması), (webAppLinuxwebAppContainerKapsayıcılar için Web App-linux),functionApp(Windows üzerinde İşlev Uygulaması), (functionAppLinuxlinux üzerinde İşlev Uygulaması), (functionAppContainerapiAppapı uygulaması), (mobileAppmobil uygulama). Belirtilmemişse,webAppvarsayılan değer olarak alınır.Herhangi bir gelişmiş dağıtım seçeneğini etkinleştirmek için parametresini ekleyin
enableCustomDeployment: trueve gerektiğinde aşağıdaki parametreleri ekleyin.# deploymentMethod: 'runFromPackage' # supports zipDeploy as well # appOffline: boolean # Not applicable for 'runFromPackage' # setParametersFile: string # removeAdditionalFilesFlag: boolean # additionalArguments: string
Çıkış değişkenleri
- Web uygulaması BARıNDıRıLAN URL:Azure App Service BARıNDıRıLAN URL ile doldurulmuş değişken için gibi bir ad girin. Değişken $ (VariableName) olarak kullanılabilir. AppServiceApplicationUrl), örneğin , sonraki görevlerdeki Azure App SERVICE barındırılan URL 'sine başvurmak için.
Kullanım notları
- Görev yalnızca Azure Resource Manager API 'leri ile birlikte kullanılabilir.
- SSL hatalarını yok saymak için,
VSTS_ARM_REST_IGNORE_SSL_ERRORSsürüm ardışık düzeninde değeri ile adlandırılmış bir değişken tanımlayıntrue. - Windows Web uygulamasını hedefleyen .net uygulamaları için,
ERROR_FILE_IN_USEERROR_FILE_IN_USEve uygulama çevrimdışına alma ayarlarının etkin olmasını sağlayarak hata ile dağıtım başarısızlığından kaçının. Sıfır kesinti süresi dağıtımı için yuva değiştirme seçeneğini kullanın. - Application Insights yapılandırılmış bir App Service dağıtım yaparken ve hedefteki ek dosyaları kaldırmayıetkinleştirdiyseniz, Application ınsights uzantısını güvenli bir durumda tutmak için dosyaları App_Data klasöründen de hariç tut ' u seçtiğinizden emin olun. Application Insights sürekli web işi App_Data klasörüne yüklendiği için bu gereklidir.
Örnek dağıtım sonrası betiği
Görev, uygulamanın yapıtları App Service başarıyla kopyalandıktan sonra Azure App Service çalışacak bir betik sağlayarak dağıtımı özelleştirmek için bir seçenek sağlar. Yapıt klasörünüzde bir satır içi dağıtım betiği ya da bir betik dosyasının yolunu ve adını sağlamayı tercih edebilirsiniz.
Bu, uygulama bağımlılıklarınızı doğrudan App Service geri yüklemek istediğinizde yararlı olur. Node, PHP ve Python uygulamaları için paketlerin geri yüklenmesi, uygulama bağımlılığı aracıdan Azure App Service bir büyük yapıtı kopyalanırken zaman aşımlarını önlemeye yardımcı olur.
Dağıtım betiğine bir örnek:
@echo off
if NOT exist requirements.txt (
echo No Requirements.txt found.
EXIT /b 0
)
if NOT exist "$(PYTHON_EXT)/python.exe" (
echo Python extension not available >&2
EXIT /b 1
)
echo Installing dependencies
call "$(PYTHON_EXT)/python.exe" -m pip install -U setuptools
if %errorlevel% NEQ 0 (
echo Failed to install setuptools >&2
EXIT /b 1
)
call "$(PYTHON_EXT)/python.exe" -m pip install -r requirements.txt
if %errorlevel% NEQ 0 (
echo Failed to install dependencies>&2
EXIT /b 1
)
Dağıtım yöntemleri
Bu görevde çeşitli dağıtım yöntemleri mevcuttur. Web Dağıtımı (msdeploy.exe) varsayılandır. Dağıtım seçeneğini değiştirmek için ek dağıtım seçenekleri ' ni genişletin ve dağıtım yöntemini seçin ek paket tabanlı dağıtım seçeneklerinden seçim yapın.
Azure App Service ve aracı türüne göre, görev uygun bir dağıtım teknolojisini seçer. Görev tarafından kullanılan farklı dağıtım teknolojileri şunlardır:
Varsayılan olarak, görev, giriş paketi türü, App Service türü ve aracı işletim sistemine göre uygun dağıtım teknolojisini seçmesini dener.
Mantığı otomatik algıla
Windows tabanlı aracılar için.
| App Service türü | Paket türü | Dağıtım yöntemi |
|---|---|---|
| Linux üzerinde WebApp veya Linux üzerinde İşlev Uygulaması | Klasör/zip/jar War | Zip Deploy War dağıtımı |
| Kapsayıcılar için WebApp (Linux) veya kapsayıcılar için İşlev Uygulaması (Linux) | Uygulama ayarlarını güncelleştirme | NA |
| Windows, İşlev Uygulaması Windows, apı uygulaması veya mobil uygulama üzerinde WebApp | War Van MsBuild paket türü veya sanal uygulamaya dağıtma Klasör/zip | War dağıtımı Zip Deploy Web Dağıtımı Eğer Postdeploymentscrıpt = = true ise, ZIP dağıtımı Else, paketten Çalıştır |
Windows olmayan aracılarda (herhangi bir App Service türü için), görev, uygulamayı dağıtmak için kudu REST apı 'lerini kullanır.
Web Dağıtımı
Web Dağıtımı (msdeploy.exe), Azure App Service aracısı kullanarak Windows bir Web uygulamasını Windows veya İşlev Uygulaması dağıtmak için kullanılabilir. Web Dağıtımı özelliklere sahiptir ve şunları gibi seçenekler sunar:
Kilitli dosyaları yeniden adlandır: Azure App Service ayarlarında MSDeploy bayrağını MSDEPLOY_RENAME_LOCKED_FILES = 1 ' i etkinleştirerek Web sunucusu tarafından hala kullanımda olan herhangi bir dosyayı yeniden adlandırın. Ayarlanırsa, bu seçenek, uygulama dağıtımı sırasında kilitlenen dosyaları yeniden adlandırmak için MSDeploy ' ı sağlar.
Hedefteki ek dosyaları Kaldır: App Service yapıt paketi veya dağıtılan klasörde eşleşen dosya olmayan Azure App Service dosyaları siler.
Dosyaları App_Data klasörden hariç tut: App_Data klasöründeki dosyaları (dağıtılan yapıt paketi/klasörde) Azure App Service dağıtıldığı şekilde engelleyin
Ek Web dağıtımı bağımsız değişkenleri: Azure App Service dağıtıldığında uygulanacak bağımsız değişkenler. Örnek:
-disableLink:AppPoolExtension -disableLink:ContentExtension. Web Dağıtımı işlem ayarlarına daha fazla örnek için bkz. Web Dağıtımı işlem Ayarlar.
Microsoft Web Platformu Yükleyicisikullanarak aracıya Web Dağıtımı. Web Dağıtımı 3,5, paketlenmiş SQL desteği olmadan yüklenmelidir. Web Dağıtımı yüklenirken herhangi bir özel ayar seçmeniz gerekmez. Web Dağıtımı, C:\Program Files (x86) \IIS\Microsoft Web Dağıtımı v3 konumuna yüklenir.
Kudu REST API 'Leri
kudu REST apı 'leri , hedef Windows bir web uygulaması, linux üzerinde web uygulaması (yerleşik kaynak) veya İşlev Uygulaması olmak üzere hem Windows hem de Linux automation aracılarında çalışır. Bu görev, Azure App Service 'e dosya kopyalamak için kudu kullanır.
Container Registry
hedef bir Kapsayıcılar için Web App olduğunda hem Windows hem de Linux otomasyon aracılarında geçerlidir. Görev, uygun kapsayıcı kayıt defteri, depo, görüntü adı ve etiket bilgilerini ayarlayarak uygulamayı güncelleştirir. Ayrıca, kapsayıcı görüntüsü için bir başlangıç komutu geçirmek üzere görevi kullanabilirsiniz.
Zip Deploy
Bir .zip dağıtım paketi bekler ve dosya içeriğini Azure 'da App Service veya İşlev Uygulaması Wwwroot klasörüne dağıtır. Bu seçenek Wwwroot klasöründeki tüm var olan içeriğin üzerine yazar. Daha fazla bilgi için bkz. Azure işlevleri Için zip dağıtımı.
Paketten Çalıştır
ZIP dağıtımı ile aynı dağıtım paketini bekler. Ancak, dosyaları Wwwroot klasörüne dağıtmak yerine, tüm paket işlevler çalışma zamanına ve Wwwroot klasöründeki dosyalar salt okunurdur. Daha fazla bilgi için bkz. Azure İşlevlerinizi paket dosyasından çalıştırma.
War dağıtımı
. War dağıtım paketini bekler ve dosya içeriğini Azure 'daki App Service Wwwroot klasörüne veya webapps klasörüne dağıtır.
Sorun giderme
Hata: Azure için erişim belirteci getirilemedi. Kullanılan hizmet sorumlusunun geçerli ve kullanım dışı olduğunu doğrulayın.
Görev, Azure ile kimlik doğrulamak için hizmet bağlantdaki hizmet sorumlusunu kullanır. Hizmet sorumlusunun süresi dolmuşsa veya App Service izinleri yoksa, görev bu hata ile başarısız olur. Kullanılan hizmet sorumlusunun geçerliliğini ve uygulama kaydında mevcut olduğunu doğrulayın. Daha fazla bilgi için bkz. Azure abonelik kaynaklarınıza erişimi yönetmek için rol tabanlı erişim denetimi kullanma. Bu blog gönderisi Ayrıca hizmet sorumlusu kimlik doğrulamasını kullanma hakkında daha fazla bilgi içerir.
SSL hatası
App Service bir sertifika kullanmak istiyorsanız, sertifikanın güvenilir bir sertifika yetkilisi tarafından imzalanması gerekir. Web uygulamanız sertifika doğrulama hataları veriyorsa, büyük olasılıkla otomatik olarak imzalanan bir sertifika kullanıyorsunuz. VSTS_ARM_REST_IGNORE_SSL_ERRORStrue Hatayı çözümlemek için derleme veya yayın ardışık düzeninde bulunan değere adlı bir değişken ayarlayın.
Sürüm uzun süre kilitleniyor ve sonra başarısız oluyor
Bu sorun App Service planınızda yetersiz kapasiteden kaynaklanıyor olabilir. Bu sorunu çözmek için, kullanılabilir CPU, RAM ve disk alanını artırmak veya farklı bir App Service planıyla denemek için App Service örneğini ölçeklendirebilirsiniz.
5xx hata kodu
5xx hatası görüyorsanız, Azure hizmetinizin durumunu kontrol edin.
Hata: belirtilen düzene sahip bir paket bulunamadı
Görevde belirtilen paketin derlemede veya önceki bir aşamada yapıt olarak yayımlanıp yayımlanmadığını ve geçerli işe indirilip indirilmediğini denetleyin.
Hata: ' ZIP Deploy seçeneğini kullanarak yayımla msBuild paket türü için desteklenmez
MSBuild göreviyle oluşturulan Web paketleri (varsayılan bağımsız değişkenlerle), yalnızca Web Dağıtımı tarafından doğru şekilde dağıtılabilecek iç içe bir klasör yapısına sahiptir. Bu paketleri dağıtmak için Yayınla dağıtım seçeneği kullanılamaz. Paketleme yapısını dönüştürmek için şu adımları uygulayın:
derleme çözümü görevinde MSBuild bağımsız değişkenlerini şu şekilde değiştirin :
Bir arşiv görevi ekleyin ve değerleri aşağıdaki gibi değiştirin:
Kök klasörü veya dosyayı arşivlemek için değiştirin .
Yolları arşivlemek için kök klasör adı seçimini kaldırın onay kutusu:
Windows üzerinde web uygulaması dağıtımı başarılı oldu ama uygulama çalışmıyor
Bunun nedeni web.config uygulamanızda mevcut olmaması olabilir. Kaynağınıza bir web.config dosyası ekleyebilir ya da görevin dosya dönüştürmeleri ve değişken değiştirme seçeneklerini kullanarak bir tane otomatik oluşturabilirsiniz.
Görev ' e tıklayın ve Python, Node.js, Go ve Java uygulamaları için web.config parametreleri oluşturma bölümüne gidin.

Parametreleri düzenlemek için Python, Node.js, Go ve Java uygulamaları için web.config parametreleri Oluştur düğmesine tıklayın.

Açılan listeden uygulama türü ' nü seçin.
Tamam ' a tıklayın. Bu, web.config oluşturmak için gereken web.config parametrelerini dolduracaktır.
Not
Bu bölüm kullanım dışıdır ve dosya dönüştürme göreviyle değiştirilmiştir.
ERROR_FILE_IN_USE
.net uygulamalarını Windows Web uygulamasına dağıttığınızda dağıtım, ERROR_FILE_IN_USEhata kodu ile başarısız olabilir. Hatayı gidermek için, kilitli dosyaların yeniden adlandırılmasına ve uygulamayı çevrimdışına alma seçeneklerinin görevde etkinleştirildiğinden emin olun. Sıfır kapalı kalma süresiyle dağıtımlar yapmak için yuva değiştirmeyi kullanın.
Kaynak kilitlenmesini önlemek için Paket dağıtımdan çalıştır yöntemini de kullanabilirsiniz.
Web Dağıtımı hatası
Web dağıtımını kullanarak uygulamanızı dağıtıyorsanız, bazı hata senaryolarında Web Dağıtımı günlükte bir hata kodu gösterir. Bir Web dağıtımı hatasıyla ilgili sorunları gidermek için , bkz..
App Service Ortamı'nda (ASE) web uygulaması dağıtımı çalışmıyor
- Derleme aracı Azure DevOps ASE İç Ağ (ILB) ile aynı sanal ağda (alt ağ farklı olabilir) Load Balancer emin olun. Bu, aracının verilerden kod çekmesini ve ASE Azure DevOps dağıtmayı sağlar.
- Azure DevOps kullanıyorsanız, aracıya İnternet'den erişilene gerek yok, ancak Azure DevOps Hizmeti'ne bağlanmak için yalnızca giden erişime ihtiyacı vardır.
- Bir Sanal Ağa dağıtılmış TFS/Azure DevOps Server kullanıyorsanız, aracı tamamen yalıtılabilir.
- Derleme aracısı, dağıtması gereken Web Uygulamasının DNS yapılandırmasıyla yapılandırıldı. Sanal Ağ'daki özel kaynakların içinde girişler Azure DNS, bunun aracı makinedeki konak dosyasına ekleniyor olması gerekir.
- ASE yapılandırması için otomatik olarak imzalanan bir sertifika kullanılıyorsa, MSDeploy.It için dağıtım görevsinde "-allowUntrusted" seçeneğinin de true olarak VSTS_ARM_REST_IGNORE_SSL_ERRORS önerilir. ASE yapılandırması için sertifika yetkililerinden bir sertifika kullanılıyorsa, bu gerekli değildir.
SSS
Hizmet bağlantımı nasıl yapılandırmam gerekir?
Bu görev için bir Azure Resource Manager bağlantısı gerekir.
Application Analizler ile web işi dağıtımını nasıl Analizler?
Bir App Service'a dağıtım Analizler uygulama yapılandırmalı ve etkinleştirdiyseniz de etkinleştirmeniz Exclude files from the App_Data folder gerekir. Bu seçeneğin etkinleştirilmesi, Uygulama Analizler güvenli bir durumda tutar. Application Analizler continuous WebJob App_Data gereklidir.
Aracımı bir ara sunucuya dağıtım yaparken ara sunucu arkasında olacak şekilde nasıl App Service?
Kendi kendine barındırılan aracınız bir web proxy gerektiriyorsa, yapılandırma sırasında aracıyı ara sunucu hakkında bilgilendirin. Bunu yapmak, aracınıza ara sunucu üzerinden Azure Pipelines veya Azure DevOps Server bağlanmanıza olanak sağlar. Bir aracı arkasında kendinden konak aracı çalıştırma hakkında daha fazla bilgi web proxy.
Açık kaynak
Bu görev, üzerinde açık kaynak GitHub. Geri bildirim ve katkılar açıktır.
Azure Pipelines
Azure'da bir dizi App Services'e dağıtmak için bu görevi kullanın. Görev, Windows, Linux veya Mac çalıştıran platformlar arası aracılarda çalışır ve birkaç farklı temel dağıtım teknolojisi kullanır.
Görev, ASP.NET ,PHP,Java, Python,GoveASP.NET Core tabanlı web Node.js için çalışır.
Görev, aşağıdakiler gibi bir dizi Azure App Services'e dağıtmak için kullanılabilir:
- Web Apps linux üzerinde Windows ve
- Web Apps için kapsayıcılar
- Hem Windows hem de Linux üzerinde İşlev Uygulamaları
- Kapsayıcılar için İşlev Uygulamaları
- Web İşleri
- Azure App Service Ortamları altında yapılandırılmış uygulamalar
Görev için önkoşullar
Görevin doğru çalışması için hedef makinelerde aşağıdaki önkoşulların ayarlanmış olması gerekir.
App Service örneği. Görev, bir Web Uygulaması projesini veya Azure İşlevi projesini, görev çalışmadan önce mevcut Azure App Service örnek olarak dağıtmak için kullanılır. App Service örneği, Azure portal buradan oluşturulabilir. Alternatif olarak, Azure PowerShell görevi, Web Uygulamasını sağlamak ve yapılandırmak üzere AzureRM PowerShell betiklerini çalıştırmak için kullanılabilir.
Azure Aboneliği. Azure'a dağıtmak için bir Azure aboneliğinin işlem hattına bağlı olması gerekir. Görev, Klasik Azure hizmet bağlantısıyla birlikte çalışmaz ve bu bağlantıları görevin ayarlarında listelez.