Aracılığıyla paylaş


AzureFunctionApp@1 - v1 görevini Azure İşlevleri

Bir işlev uygulamasını .NET, Python, JavaScript, PowerShell, Java tabanlı web uygulamalarıyla güncelleştirin.

Linux veya Windows için Azure İşlevi dağıtma.

Syntax

# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.

Girişler

azureSubscription - Azure Resource Manager bağlantısı
string. Gereklidir.

Dağıtım için Azure Resource Manager aboneliğini seçer.


appType - Uygulama türü
string. Gereklidir. İzin verilen değerler: functionApp (Windows'ta İşlev Uygulaması), functionAppLinux (Linux'ta İşlev Uygulaması).


appName - Azure İşlevleri Uygulama adı
string. Gereklidir.

Mevcut bir Azure İşlevleri Uygulamasının adını girer veya seçer. Listelenen İşlev Uygulamaları, seçilen uygulama türüne göre belirlenir.


appName - Uygulama adı
string. Gereklidir.

Mevcut bir Azure İşlevleri Uygulamasının adını girer veya seçer. Listelenen İşlev Uygulamaları, seçilen uygulama türüne göre belirlenir.


deployToSlotOrASE - Yuvaya veya App Service Ortamı dağıtma
boolean. Varsayılan değer: false.

Mevcut bir dağıtım yuvasına veya Azure App Service Ortamına dağıtır. Her iki hedef için de görevin bir Kaynak grubu adı gerekir.

Dağıtım hedefi bir yuvaysa, varsayılan olarak üretim yuvasına ayarlanır. Diğer tüm mevcut yuva adları da sağlanabilir.

Dağıtım hedefi bir Azure App Service Ortamı ise yuva adını üretim olarak bırakın ve Kaynak grubu adını belirtin.


resourceGroupName - Kaynak grubu
string. olduğunda deployToSlotOrASE = truegereklidir.

Dağıtım hedefi bir dağıtım yuvası veya App Service Ortamı olduğunda Kaynak grubu adı gereklidir.

Yukarıda belirtilen Azure App Service içeren Azure Kaynak grubunu girer veya seçer.


slotName - Yuvası
string. olduğunda deployToSlotOrASE = truegereklidir. Varsayılan değer: production.

Üretim yuvası hariç mevcut bir yuvayı girer veya seçer.


package - Paket veya klasör
string. Gereklidir. Varsayılan değer: $(System.DefaultWorkingDirectory)/**/*.zip.

MSBuild tarafından oluşturulan App Service içeriği, sıkıştırılmış zip dosyasını veya savaş dosyasını içeren paket veya klasörün dosya yolu. Değişkenler ( Derleme | Sürümü) ve joker karakterler desteklenir. Örneğin, $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - Çalışma zamanı yığını
string. İsteğe bağlı. when appType = functionAppLinuxkullanın. İzin verilen değerler: DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, , DOTNET-ISOLATED|8.0, JAVA|8, JAVA|11, JAVA|17, JAVA|21, , NODE|14, NODE|16, PYTHON|3.8PYTHON|3.9PYTHON|3.11NODE|18NODE|20PYTHON|3.10.

İşlev uygulamanızın üzerinde çalıştırılacağı çerçeveyi ve sürümü belirtin. Desteklenen çalışma zamanı sürümlerinden herhangi birini kullanabilirsiniz. gibi DOCKER|microsoft/azure-functions-* eski değerler kullanım dışıdır. Yeni değerler, görev yardımcı açılan listesinde listelenir. Desteklenen çalışma zamanı sürümlerinde bir çerçevenin daha yeni bir sürümü varsa, listede olmasa bile belirtebilirsiniz.


runtimeStack - Çalışma zamanı yığını
string. İsteğe bağlı. when appType = functionAppLinuxkullanın. İzin verilen değerler: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), DOTNET|6.0 (DOTNET|6.0 (functionapp v4)), JAVA|8 (JAVA|8 (functionapp v2/v3/v4)), (JAVA|11 (functionapp v3/v4)), NODE|8JAVA|11 (NODE|8 (functionapp v2)), NODE|10 (NODE|10 (functionapp v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3/v4)), NODE|16 (NODE|16 (functionapp v4)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), (PYTHON|3.7 (functionapp v2/v3/v4)), (functionapp v2/v3/v4)), PYTHON|3.7PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4)).

İşlev uygulamanızın üzerinde çalıştırılacağı çerçeveyi ve sürümü belirtin. Desteklenen çalışma zamanı sürümlerinden herhangi birini kullanabilirsiniz. gibi DOCKER|microsoft/azure-functions-* eski değerler kullanım dışıdır. Yeni değerler, görev yardımcı açılan listesinde listelenir. Desteklenen çalışma zamanı sürümlerinde bir çerçevenin daha yeni bir sürümü varsa, listede olmasa bile belirtebilirsiniz.


runtimeStack - Çalışma zamanı yığını
string. İsteğe bağlı. when appType = functionAppLinuxkullanın. İzin verilen değerler: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp v3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), (NODE|10 (functionapp v2)), (NODE|10 (functionapp v3)) NODE|10 v2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

İşlev uygulamanızın üzerinde çalıştırılacağı çerçeveyi ve sürümü belirtin. Desteklenen çalışma zamanı sürümlerinden herhangi birini kullanabilirsiniz. gibi DOCKER|microsoft/azure-functions-* eski değerler kullanım dışıdır. Yeni değerler, görev yardımcı açılan listesinde listelenir. Desteklenen çalışma zamanı sürümlerinde bir çerçevenin daha yeni bir sürümü varsa, listede olmasa bile belirtebilirsiniz.


runtimeStack - Çalışma zamanı yığını
string. İsteğe bağlı. when appType = functionAppLinuxkullanın. İzin verilen değerler: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

İşlev uygulamanızın üzerinde çalıştırılacağı çerçeveyi ve sürümü belirtin. Desteklenen çalışma zamanı sürümlerinden herhangi birini kullanabilirsiniz. gibi DOCKER|microsoft/azure-functions-* eski değerler kullanım dışıdır. Yeni değerler, görev yardımcı açılan listesinde listelenir. Desteklenen çalışma zamanı sürümlerinde bir çerçevenin daha yeni bir sürümü varsa, listede olmasa bile belirtebilirsiniz.


startUpCommand - Başlangıç komutu
string. İsteğe bağlı. when appType = functionAppLinuxkullanın.

Start up komutunu girer. Örnek:

dotnet run
dotnet filename.dll


customWebConfig - Python, Node.js, Go ve Java uygulamaları için web.config parametreleri oluşturma
string. İsteğe bağlı. when appType != functionAppLinux && package NotEndsWith .warkullanın.

Uygulamada yoksa standart bir Web.config oluşturulur ve Azure App Service dağıtılır. web.config değerleri uygulama çerçevesine göre değişir ve düzenlenebilir. Örneğin, node.js uygulaması için web.config bir başlangıç dosyası ve iis_node modül değerleri olacaktır. Bu düzenleme özelliği yalnızca oluşturulan web.configiçindir.


appSettings - Uygulama ayarları
string.

Söz dizimini -key value kullanarak uygulama ayarlarını girin (örneğin: -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). Boşluk içeren değerleri çift tırnak içine alın (örneğin: "Eastern Standard Time").


configurationStrings - Yapılandırma ayarları
string.

Söz dizimini -key value kullanarak yapılandırma dizelerini girin (örneğin: -phpVersion 5.6-linuxFxVersion: node|6.11). Boşluk içeren değerleri çift tırnak içine alın.


deploymentMethod - Dağıtım yöntemi
string. olduğunda appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jargereklidir. İzin verilen değerler: auto (Otomatik algılama), zipDeploy (Zip Dağıtımı), runFromPackage (Paketten Çalıştır ile Zip Dağıtımı). Varsayılan değer: auto.

Uygulama için dağıtım yöntemini seçer.


deploymentMethod - Dağıtım yöntemi
string. olduğunda appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jargereklidir. İzin verilen değerler: auto (Otomatik algılama), zipDeploy (Zip Dağıtımı), runFromPackage (Paketten Çalıştır). Varsayılan değer: auto.

Uygulama için dağıtım yöntemini seçer.


Görev denetim seçenekleri

Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Bu görev aşağı akış adımlarında, işlerde ve aşamalarda kullanabileceğiniz aşağıdaki çıkış değişkenlerini tanımlar.

AppServiceApplicationUrl
Seçili App Service uygulama URL'si.

Açıklamalar

İşlevleri Azure'a dağıtmak için Azure İşlev Uygulaması görevini kullanın.

Dağıtım yöntemleri

Bu görevde çeşitli dağıtım yöntemleri kullanılabilir. auto varsayılan değerdir.

Tasarımcı görevinde paket tabanlı 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ç'i etkinleştirin.

Azure App Service ve Azure Pipelines aracısının türüne bağlı olarak, görev uygun bir dağıtım teknolojisi kullanır. Görevler tarafından kullanılan dağıtım teknolojileri aşağıdaki gibidir:

Varsayılan olarak, görev giriş paketine, App Service türüne ve aracı işletim sistemine göre uygun dağıtım teknolojisini seçmeye çalışır.

  • Dağıtım sonrası betiği sağlanmışsa Zip Deploy kullanın.
  • App Service türü Linux'ta Web Uygulaması ise Zip Dağıtımı'nı kullanın.
  • Bir .war dosyası sağlanmışsa War Deploy'ı kullanın.
  • .jar dosyası sağlanmışsa, Zip'ten Çalıştır'ı kullanın.
  • Diğer tüm görevler için Paketten Çalıştır 'ı kullanın (Zip Dağıtımı aracılığıyla).

Windows olmayan bir aracıda (herhangi bir App Service türü için), görev web uygulamasını dağıtmak için Kudu REST API'sine dayanır.

Kudu REST API

Kudu REST API'sinin hem Windows'ta Web Uygulaması, Linux üzerinde Web Uygulaması (yerleşik kaynak) hem de işlev uygulaması olması halinde hem Windows hem de Linux otomasyon aracıları üzerinde çalışır. Görev, dosyaları Azure App Service kopyalamak için Kudu kullanır.

Zip Deploy

Zip Deploy, seçilen paket veya klasörden bir .zip dağıtım paketi oluşturur. Ardından dosya içeriğini Azure'daki App Service ad işlevi uygulamasının wwwroot klasörüne dağıtır. Bu seçenek wwwroot klasöründeki tüm mevcut içeriğin üzerine yazar. Daha fazla bilgi için bkz. Azure İşlevleri için zip dağıtımı.

Paketten çalıştırma

Paketten Çalıştır, Zip Deploy ile aynı dağıtım paketini oluşturur. İşlevler çalışma zamanı, wwwroot klasörüne dosya dağıtmak yerine paketin tamamını bağlar. Bu seçeneği kullandığınızda, wwwroot klasöründeki dosyalar salt okunur hale gelir. Daha fazla bilgi için bkz. Azure İşlevlerinizi paket dosyasından çalıştırma.

Sorun giderme

Hata: Azure için erişim belirteci getirilemedi. Kullanılan Hizmet Sorumlusunun geçerli olduğunu ve süresinin dolmadığını doğrulayın.

Görev, Azure ile kimlik doğrulaması yapmak için hizmet bağlantısındaki hizmet sorumlusunu kullanır. Hizmet sorumlusunun süresi dolduysa veya App Service izinleri yoksa, görev bu hatayla 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 denetimini kullanma. Bu blog gönderisi ayrıca hizmet sorumlusu kimlik doğrulaması 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. Hatayı çözmek için derleme veya yayın işlem hattındaki değere true adlı VSTS_ARM_REST_IGNORE_SSL_ERRORS 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 kapasitenin sonucu olabilir. Bu sorunu çözmek için kullanılabilir CPU, RAM ve disk alanını artırmak için App Service örneğinin ölçeğini artırabilir veya farklı bir App Service planıyla deneyebilirsiniz.

5xx hata kodları

5xx hatası görüyorsanız Azure hizmetinizin durumunu denetleyin.

Azure İşlevi aniden çalışmayı durdurdu

Azure İşlevleri, son dağıtımın üzerinden bir yıldan fazla geçtiyse aniden çalışmayı durdurabilir. "deploymentMethod" içinde "RunFromPackage" ile dağıtım yaparsanız, son kullanma tarihi 1 yıl olan bir SAS oluşturulur ve uygulama yapılandırmasında "WEBSITE_RUN_FROM_PACKAGE" değeri olarak ayarlanır. Azure İşlevleri işlev yürütme için paket dosyasına başvurmak üzere bu SAS'yi kullanır, bu nedenle SAS'nin süresi dolduysa işlev yürütülmeyecektir. Bu sorunu çözmek için yeniden dağıtarak son kullanma tarihi bir yıl olan bir SAS oluşturun.

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 dağıtımı kullanarak yayımlama seçeneği msBuild paket türü için desteklenmiyor

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 dağıtılabilir iç içe klasör yapısına sahiptir. Bu paketleri dağıtmak için zip'e yayımla dağıtım seçeneği kullanılamaz. Paketleme yapısını dönüştürmek için şu adımları uygulayın:

  1. Çözüm oluşturma görevinde MSBuild Bağımsız Değişkenleri'ni olarak /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"değiştirin:

    Çözüm oluşturma değerlerini gösteren ekran görüntüsü.

  2. Arşiv görevi ekleyin ve değerleri aşağıdaki gibi değiştirin:

    1. Kök klasörü veya dosyayı arşiv olarak değiştirin$(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Yolları arşive önceden ekli kök klasör adı onay kutusunu temizleyin:

      Arşiv değerlerini gösteren ekran görüntüsü.

Windows'ta işlev uygulaması dağıtımı başarılı olur ancak uygulama çalışmaz

Uygulamanızda bir web.config dosyası yoksa bu sorun oluşabilir. Kaynağınıza bir web.config dosyası ekleyebilir veya görevin Uygulama ve Yapılandırma Ayarları'nı kullanarak otomatik olarak bir dosya oluşturabilirsiniz.

  1. Görevi seçin ve Python, Node.js, Go ve Java uygulamaları için web.config parametreleri oluştur'a gidin:

    web.config parametreleri oluşturma bölümünü gösteren ekran görüntüsü.

  2. Parametreleri düzenlemek için Python, Node.js, Go ve Java uygulamaları için web.config parametreleri oluştur altındaki Diğer düğmesini (...) seçin:

    web.config oluştur parametrelerini gösteren ekran görüntüsü.

  3. Uygulama çerçevesi listesinden uygulama türünüzü seçin.

  4. Tamam’ı seçin. Bunu yaptığınızda, web.config dosyasını oluşturmak için gereken web.config parametreleri doldurulur.

SSS

Hizmet bağlantımı nasıl yapılandırmalıyım?

Bu görev için Azure Resource Manager hizmeti bağlantısı gerekir.

Application Insights ile web işi dağıtımlarını nasıl yapılandırmalıyım?

bir App Service dağıtırken, Application Insights'ı yapılandırdıysanız ve etkinleştirdiyseniz Remove additional files at destinationöğesini de etkinleştirmeniz Exclude files from the App_Data foldergerekir. Bu seçeneğin etkinleştirilmesi, Application Insights uzantısının güvenli durumda kalmasını sağlar. Application Insights sürekli Web İşi App_Data klasörüne yüklendiğinden bu adım gereklidir.

App Service'a dağıtım yaparken ara sunucu arkasındaysa aracımı nasıl yapılandırmalıyım?

Şirket içinde barındırılan aracınız bir web ara sunucusu gerektiriyorsa, aracıyı yapılandırma sırasında ara sunucu hakkında bilgilendirebilirsiniz. Bunun yapılması, aracınızın Azure Pipelines'a bağlanmasına veya ara sunucu üzerinden Azure DevOps Server olanak tanır. Web ara sunucusunun arkasında şirket içinde barındırılan aracı çalıştırma hakkında daha fazla bilgi edinin.

Azure Resource Manager hizmet bağlantısı ve Microsoft tarafından barındırılan bir aracı kullanarak iç App Service Ortamı dağıtamıyorum

Tasarım gereği, Microsoft tarafından barındırılan bir aracı App Service Ortamı ile çalışmaz. Bunun yerine, App Service Ortamı ile aynı sanal ağda bulunan bir sanal makinede özel aracı yapılandırmanız gerekir. Ayrıca, kaynaklar arasında iletişimi etkinleştirmek için özel bir DNS bölgesi ayarlayın.

Örnekler

Aşağıda, Windows üzerinde Azure işlevlerini dağıtan örnek bir YAML kod parçacığı verilmiştir:


variables:
  azureSubscription: Contoso
  # To ignore SSL error, uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionApp@1
  displayName: Azure Function App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplefunctionapp
    appType: functionApp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Linux'ta bir işlev dağıtmak için parametresini appType ekleyin ve olarak appType: functionAppLinuxayarlayın. Bir değer belirtmezseniz, functionApp varsayılan değerdir.

Dağıtım yöntemini Zip Deploy olarak açıkça belirtmek için parametresini deploymentMethod: zipDeployekleyin. Bu parametre için desteklenen bir diğer değer de şeklindedir runFromPackage. Bir değer belirtmezseniz, auto varsayılan değerdir.

CI/CD işlem hattı oluşturmayı gösteren bir kılavuz için bkz. Java'yı Azure İşlevleri derleme ve dağıtma.

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.104.1 veya üzeri
Görev kategorisi Dağıtma