AzureFunctionApp@1 - tugas Azure Functions v1
Perbarui aplikasi fungsi dengan aplikasi web berbasis .NET, Python, JavaScript, PowerShell, Java.
Menyebarkan Azure Function untuk Linux atau Windows.
Sintaks
# 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.
Input
azureSubscription
- Koneksi Azure Resource Manager
string
. Wajib diisi.
Memilih langganan Azure Resource Manager untuk penyebaran.
appType
- Jenis aplikasi
string
. Wajib diisi. Nilai yang diizinkan: functionApp
(Aplikasi Fungsi di Windows), functionAppLinux
(Aplikasi Fungsi di Linux).
appName
- nama Aplikasi Azure Functions
string
. Wajib diisi.
Memasukkan atau memilih nama Aplikasi Azure Functions yang sudah ada. Aplikasi Fungsi yang tercantum akan didasarkan pada jenis aplikasi yang dipilih.
appName
- Nama aplikasi
string
. Wajib diisi.
Memasukkan atau memilih nama Aplikasi Azure Functions yang sudah ada. Aplikasi Fungsi yang tercantum akan didasarkan pada jenis aplikasi yang dipilih.
deployToSlotOrASE
- Menyebarkan ke Slot atau lingkungan App Service
boolean
. Nilai default: false
.
Menyebarkan ke slot penyebaran yang ada atau lingkungan Azure App Service. Untuk kedua target, tugas memerlukan nama grup Sumber Daya.
Jika target penyebaran adalah slot, target tersebut akan default ke slot produksi . Nama slot lain yang ada juga dapat disediakan.
Jika target penyebaran adalah lingkungan Azure App Service, biarkan nama slot sebagai produksi dan tentukan nama grup Sumber Daya.
resourceGroupName
- Grup sumber daya
string
. Diperlukan saat deployToSlotOrASE = true
.
Nama grup Sumber Daya diperlukan saat target penyebaran adalah slot penyebaran atau lingkungan App Service.
Memasukkan atau memilih grup Sumber Daya Azure yang berisi Azure App Service yang ditentukan di atas.
slotName
- Slot
string
. Diperlukan saat deployToSlotOrASE = true
. Nilai default: production
.
Memasukkan atau memilih slot yang ada, tidak termasuk slot Produksi.
package
- Paket atau folder
string
. Wajib diisi. Nilai default: $(System.DefaultWorkingDirectory)/**/*.zip
.
Jalur file ke paket atau folder yang berisi konten App Service yang dihasilkan oleh MSBuild, file zip terkompresi, atau file perang. Variabel (RilisBuild | ) dan kartubebas didukung. Contohnya,$(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war
.
runtimeStack
- Tumpukan runtime
string
. Opsional. Gunakan saat appType = functionAppLinux
. Nilai yang diizinkan: DOTNET|6.0
, , DOTNET-ISOLATED|7.0
DOTNET-ISOLATED|6.0
, DOTNET-ISOLATED|8.0
, JAVA|8
, JAVA|11
, JAVA|17
, JAVA|21
, NODE|14
, NODE|16
, NODE|18
, NODE|20
, PYTHON|3.9
PYTHON|3.8
, PYTHON|3.10
, . PYTHON|3.11
Tentukan kerangka kerja dan versi yang akan dijalankan aplikasi fungsi Anda. Anda dapat menggunakan salah satu versi runtime yang didukung. Nilai lama seperti DOCKER|microsoft/azure-functions-*
tidak digunakan lagi. Nilai baru tercantum dalam daftar drop-down di asisten tugas. Jika ada versi kerangka kerja yang lebih baru yang tersedia dalam versi runtime yang didukung , Anda dapat menentukannya meskipun tidak ada dalam daftar.
runtimeStack
- Tumpukan runtime
string
. Opsional. Gunakan saat appType = functionAppLinux
. Nilai yang diperbolehkan: 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
(JAVA|11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), (NODE||11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), (NODE||11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), (NODE|11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), (NODE||11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), (NODE||11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), (NODE||11 (functionapp v3/v4)), (NODE|8 (functionapp v2)), NODE|10
(NODE||11 (functionapp v3/v4)), NODE|8
(NODE|8 (functionapp v2 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
(PYTHON|3.7 (functionapp v2/v3/v4)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9
(PYTHON|3.9 (functionapp v3/v4)).
Tentukan kerangka kerja dan versi yang akan dijalankan aplikasi fungsi Anda. Anda dapat menggunakan salah satu versi runtime yang didukung. Nilai lama seperti DOCKER|microsoft/azure-functions-*
tidak digunakan lagi. Nilai baru tercantum dalam daftar drop-down di asisten tugas. Jika ada versi kerangka kerja yang lebih baru yang tersedia dalam versi runtime yang didukung , Anda dapat menentukannya meskipun tidak ada dalam daftar.
runtimeStack
- Tumpukan runtime
string
. Opsional. Gunakan saat appType = functionAppLinux
. Nilai yang diizinkan: 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
(NODE|10 (functionapp 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)).
Tentukan kerangka kerja dan versi yang akan dijalankan aplikasi fungsi Anda. Anda dapat menggunakan salah satu versi runtime yang didukung. Nilai lama seperti DOCKER|microsoft/azure-functions-*
tidak digunakan lagi. Nilai baru tercantum dalam daftar drop-down di asisten tugas. Jika ada versi kerangka kerja yang lebih baru yang tersedia dalam versi runtime yang didukung , Anda dapat menentukannya meskipun tidak ada dalam daftar.
runtimeStack
- Tumpukan runtime
string
. Opsional. Gunakan saat appType = functionAppLinux
. Nilai yang diizinkan: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
Tentukan kerangka kerja dan versi yang akan dijalankan aplikasi fungsi Anda. Anda dapat menggunakan salah satu versi runtime yang didukung. Nilai lama seperti DOCKER|microsoft/azure-functions-*
tidak digunakan lagi. Nilai baru tercantum dalam daftar drop-down di asisten tugas. Jika ada versi kerangka kerja yang lebih baru yang tersedia dalam versi runtime yang didukung , Anda dapat menentukannya meskipun tidak ada dalam daftar.
startUpCommand
- Perintah startup
string
. Opsional. Gunakan saat appType = functionAppLinux
.
Memasukkan perintah start up. Contohnya:
dotnet run
dotnet filename.dll
customWebConfig
- Membuat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java
string
. Opsional. Gunakan saat appType != functionAppLinux && package NotEndsWith .war
.
Web.config standar akan dihasilkan dan disebarkan ke Azure App Service jika aplikasi tidak memilikinya. Nilai dalam web.config bervariasi berdasarkan kerangka kerja aplikasi, dan dapat diedit. Misalnya, untuk aplikasi node.js, web.config akan memiliki file startup dan nilai modul iis_node. Fitur edit ini hanya untuk web.configyang dihasilkan .
appSettings
- Pengaturan aplikasi
string
.
Masukkan pengaturan aplikasi menggunakan sintaks -key value
(misalnya:-RequestTimeout 5000
-Port 5000
-WEBSITE_TIME_ZONE
). Sertakan nilai yang berisi spasi dalam tanda kutip ganda (misalnya: "Eastern Standard Time"
).
configurationStrings
- Pengaturan konfigurasi
string
.
Masukkan string konfigurasi menggunakan sintaks -key value
(misalnya: -phpVersion 5.6
-linuxFxVersion: node|6.11
). Sertakan nilai yang berisi spasi dalam tanda kutip ganda.
deploymentMethod
- Metode penyebaran
string
. Diperlukan saat appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Nilai yang diizinkan: auto
(Deteksi otomatis), zipDeploy
(Zip Deploy), runFromPackage
(Zip Deploy dengan Run From Package). Nilai default: auto
.
Memilih metode penyebaran untuk aplikasi.
deploymentMethod
- Metode penyebaran
string
. Diperlukan saat appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Nilai yang diizinkan: auto
(Deteksi otomatis), zipDeploy
(Zip Deploy), runFromPackage
(Jalankan Dari Paket). Nilai default: auto
.
Memilih metode penyebaran untuk aplikasi.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.
Variabel output
Tugas ini menentukan variabel output berikut, yang dapat Anda konsumsi dalam langkah-langkah hilir, pekerjaan, dan tahapan.
AppServiceApplicationUrl
URL aplikasi dari App Service yang dipilih.
Keterangan
Gunakan tugas Aplikasi Fungsi Azure untuk menyebarkan fungsi ke Azure.
Metode penyebaran
Beberapa metode penyebaran tersedia dalam tugas ini. Nilai defaultnya adalah auto
.
Untuk mengubah opsi penyebaran berbasis paket dalam tugas perancang, perluas Opsi Penyebaran Tambahan dan aktifkan Pilih Metode Penyebaran.
Berdasarkan jenis Azure App Service dan agen Azure Pipelines, tugas menggunakan teknologi penyebaran yang sesuai. Teknologi penyebaran yang digunakan oleh tugas adalah sebagai berikut:
Secara default, tugas mencoba memilih teknologi penyebaran yang sesuai berdasarkan paket input, jenis App Service, dan OS agen.
- Jika skrip pasca-penyebaran disediakan, gunakan Zip Deploy.
- Jika jenis App Service adalah Aplikasi Web di Linux, gunakan Zip Deploy.
- Jika file .war disediakan, gunakan War Deploy.
- Jika file .jar disediakan, gunakan Run-From-Zip.
- Untuk semua tugas lainnya, gunakan Jalankan Dari Paket (melalui Zip Deploy).
Pada agen non-Windows (untuk jenis App Service apa pun), tugas bergantung pada REST API Kudu untuk menyebarkan aplikasi web.
REST API Kudu
REST API Kudu berfungsi pada agen otomatisasi Windows dan Linux saat target adalah Aplikasi Web di Windows, Aplikasi Web di Linux (sumber bawaan), atau aplikasi fungsi. Tugas ini menggunakan Kudu untuk menyalin file ke Azure App Service.
Penyebaran Zip
Zip Deploy membuat paket penyebaran .zip dari paket atau folder yang dipilih. Kemudian menyebarkan konten file ke folder wwwroot dari aplikasi fungsi nama App Service di Azure. Opsi ini menimpa semua konten yang ada di folder wwwroot. Untuk informasi selengkapnya, lihat Penyebaran Zip untuk Azure Functions.
Menjalankan dari Paket
Jalankan Dari Paket membuat paket penyebaran yang sama dengan Zip Deploy. Alih-alih menyebarkan file ke folder wwwroot, runtime Functions memasang seluruh paket. Ketika Anda menggunakan opsi ini, file di folder wwwroot menjadi baca-saja. Untuk informasi selengkapnya, lihat Menjalankan Azure Functions Anda dari file paket.
Pemecahan Masalah
Kesalahan: Tidak dapat mengambil token akses untuk Azure. Verifikasi apakah Perwakilan Layanan yang digunakan valid dan tidak kedaluwarsa.
Tugas ini menggunakan perwakilan layanan dalam koneksi layanan untuk mengautentikasi dengan Azure. Jika perwakilan layanan telah kedaluwarsa atau tidak memiliki izin ke App Service, tugas gagal dengan kesalahan ini. Verifikasi validitas prinsipal layanan yang digunakan dan tersedia dalam pendaftaran aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menggunakan kontrol akses berbasis peran untuk mengelola akses ke sumber daya langganan Azure Anda. Posting blog ini juga berisi informasi selengkapnya tentang menggunakan autentikasi perwakilan layanan.
Kesalahan SSL
Jika Anda ingin menggunakan sertifikat di App Service, sertifikat harus ditandatangani oleh otoritas sertifikat tepercaya. Jika aplikasi web memberi Anda kesalahan validasi sertifikat, Anda mungkin menggunakan sertifikat yang ditandatangani sendiri. Atur variabel bernama VSTS_ARM_REST_IGNORE_SSL_ERRORS
ke nilai true
dalam alur build atau rilis untuk mengatasi kesalahan.
Rilis berhenti untuk waktu yang lama dan kemudian gagal
Masalah ini bisa menjadi akibat dari kapasitas yang tidak mencukup dalam rencana App Service Anda. Untuk mengatasi masalah ini, Anda dapat meningkatkan instans App Service untuk meningkatkan ruang CPU, RAM, dan disk yang tersedia atau mencoba dengan paket App Service yang berbeda.
kode galat 5xx
Jika Anda melihat kesalahan 5xx , periksa status layanan Azure Anda.
Fungsi Azure tiba-tiba berhenti berfungsi
Azure Functions mungkin tiba-tiba berhenti bekerja jika lebih dari satu tahun telah berlalu sejak penyebaran terakhir. Jika Anda menyebarkan dengan "RunFromPackage" di "deploymentMethod", SAS dengan tanggal kedaluwarsa 1 tahun dihasilkan dan ditetapkan sebagai nilai "WEBSITE_RUN_FROM_PACKAGE" dalam konfigurasi aplikasi. Azure Functions menggunakan SAS ini untuk mereferensikan file paket untuk eksekusi fungsi, jadi jika SAS telah kedaluwarsa, fungsi tidak akan dijalankan. Untuk mengatasi masalah ini, sebarkan lagi untuk menghasilkan SAS dengan tanggal kedaluwarsa satu tahun.
Kesalahan: Tidak ada paket yang ditemukan dengan pola tertentu
Periksa apakah paket yang disebutkan dalam tugas diterbitkan sebagai artefak dalam build atau tahap sebelumnya dan diunduh dalam pekerjaan saat ini.
Kesalahan: Terbitkan menggunakan opsi penyebaran zip tidak didukung untuk jenis paket msBuild
Paket web yang dibuat melalui tugas MSBuild (dengan argumen default) memiliki struktur folder berlapis yang hanya dapat disebarkan dengan benar oleh Web Deploy. Opsi penyebaran publish-to-zip tidak dapat digunakan untuk menyebarkan paket tersebut. Untuk mengonversi struktur kemasan, lakukan langkah-langkah berikut:
Dalam tugas Solusi build, ubah Argumen MSBuild menjadi
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"
:Tambahkan tugas Arsip dan ubah nilai sebagai berikut:
Ubah folder akar atau file untuk diarsipkan ke
$(System.DefaultWorkingDirectory)\\WebAppContent
.Kosongkan kotak centang Tambahkan nama folder akar ke jalur arsip :
Penyebaran aplikasi fungsi di Windows berhasil tetapi aplikasi tidak berfungsi
Masalah ini dapat terjadi jika file web.config tidak ada di aplikasi Anda. Anda dapat menambahkan file web.config ke sumber Anda atau secara otomatis membuatnya dengan menggunakan Pengaturan Aplikasi dan Konfigurasi tugas.
Pilih tugas dan buka Membuat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java:
Pilih tombol Lainnya (...) di bawah Buat parameter web.config untuk aplikasi Python, Node.js, Go, dan Java untuk mengedit parameter:
Pilih jenis aplikasi Anda di daftar Kerangka kerja aplikasi .
PilihOK. Melakukannya akan mengisi parameter web.config yang diperlukan untuk menghasilkan file web.config.
Tanya Jawab Umum
Bagaimana cara mengonfigurasi koneksi layanan saya?
Tugas ini memerlukan koneksi layanan Azure Resource Manager.
Bagaimana cara mengonfigurasi penyebaran pekerjaan web dengan Application Insights?
Saat Anda menyebarkan ke App Service, jika Anda telah mengonfigurasi Application Insights dan telah mengaktifkan Remove additional files at destination
, Anda juga perlu mengaktifkan Exclude files from the App_Data folder
. Mengaktifkan opsi ini membuat ekstensi Application Insights dalam keadaan aman. Langkah ini diperlukan karena WebJob berkelanjutan Application Insights diinstal ke folder App_Data.
Bagaimana cara mengonfigurasi agen saya jika berada di belakang proksi saat saya menyebarkan ke App Service?
Jika agen yang dihost sendiri memerlukan proksi web, Anda dapat memberi tahu agen tentang proksi selama konfigurasi. Melakukannya memungkinkan agen Anda untuk terhubung ke Azure Pipelines atau Azure DevOps Server melalui proksi. Pelajari selengkapnya tentang menjalankan agen yang dihost sendiri di belakang proksi web.
Saya tidak dapat menyebarkan ke lingkungan App Service internal dengan menggunakan koneksi layanan Azure Resource Manager dan agen yang dihosting Microsoft
Secara desain, agen yang dihosting Microsoft tidak akan berfungsi dengan lingkungan App Service. Sebagai gantinya, Anda perlu mengonfigurasi agen privat pada komputer virtual yang berada di jaringan virtual yang sama dengan lingkungan App Service. Selain itu, atur zona DNS privat untuk mengaktifkan komunikasi antara sumber daya.
Contoh
Berikut adalah contoh cuplikan YAML yang menyebarkan fungsi Azure di Windows:
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
Untuk menyebarkan fungsi di Linux, tambahkan appType
parameter dan atur ke appType: functionAppLinux
. Jika Anda tidak menentukan nilai, functionApp
adalah defaultnya.
Untuk secara eksplisit menentukan metode penyebaran sebagai Zip Deploy, tambahkan parameter deploymentMethod: zipDeploy
. Nilai lain yang didukung untuk parameter ini adalah runFromPackage
.
Jika Anda tidak menentukan nilai, auto
adalah defaultnya.
Untuk panduan yang memperlihatkan cara membuat alur CI/CD, lihat Membangun dan menyebarkan Java untuk Azure Functions.
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.104.1 atau lebih tinggi |
Kategori tugas | Sebarkan |