AzureFunctionAppContainer@1 - Azure Functions untuk tugas kontainer v1
Memperbarui aplikasi fungsi dengan kontainer Docker.
Perbarui Aplikasi Fungsi dengan kontainer Docker.
Sintaks
# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
inputs:
azureSubscription: # string. Required. Azure subscription.
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.
imageName: # string. Required. Image name.
#containerCommand: # string. Startup command.
# Application and Configuration Settings
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
inputs:
azureSubscription: # string. Required. Azure subscription.
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.
imageName: # string. Required. Image name.
#containerCommand: # string. Startup command.
# Application and Configuration Settings
#appSettings: # string. App settings.
#configurationStrings: # string. Configuration settings.
Input
azureSubscription
- Langganan Azure
string
. Wajib diisi.
Memilih langganan Azure Resource Manager untuk penyebaran.
appName
- Nama aplikasi
string
. Wajib diisi.
Nama Aplikasi Fungsi untuk Kontainer.
deployToSlotOrASE
- Menyebarkan ke Slot atau lingkungan App Service
boolean
. Nilai default: false
.
Atur input ini ke true
untuk disebarkan ke slot penyebaran yang ada atau lingkungan Azure App Service. Tugas ini memerlukan nama Grup Sumber Daya untuk kedua target. Untuk opsi slot penyebaran, default disebarkan ke slot produksi , atau Anda dapat menentukan nama slot lain yang ada. 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 yang berisi Aplikasi Fungsi untuk Kontainer.
slotName
- Slot
string
. Diperlukan saat deployToSlotOrASE = true
. Nilai default: production
.
Memasukkan atau memilih slot yang ada, tidak termasuk slot produksi .
imageName
- Nama gambar
string
. Wajib diisi.
Nama domain tingkat atas yang unik secara global untuk registri atau namespace khusus Anda.
Catatan: Nama gambar yang sepenuhnya memenuhi syarat akan memiliki format: <registry or namespace> <repository> <tag>
. Contohnya,myregistry.azurecr.io/nginx:latest
.
containerCommand
- Perintah startup
string
.
Perintah startup yang dijalankan setelah penyebaran. Misalnya, dotnet run
dotnet filename.dll.
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.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugasnya. 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 ini untuk menyebarkan Azure Function di Linux menggunakan gambar kustom.
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 macet 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.
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.
Contoh
Contoh ini menyebarkan Azure Functions di Linux menggunakan kontainer:
variables:
imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
azureSubscription: Contoso
# To ignore SSL error uncomment the following variable
# VSTS_ARM_REST_IGNORE_SSL_ERRORS: true
steps:
- task: AzureFunctionAppContainer@1
displayName: Azure Function App on Container deploy
inputs:
azureSubscription: $(azureSubscription)
appName: functionappcontainers
imageName: $(imageName)
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 |