Tugas Aplikasi Fungsi Azure untuk Kontainer

Azure DevOps

Gunakan tugas ini untuk menyebarkan Azure Function di Linux menggunakan gambar kustom.

Input Tugas

ParameterDeskripsi
azureSubscription
Langganan Azure
(Diperlukan) Nama koneksi layanan Azure Resource Manager.
appName
Nama aplikasi
(Diperlukan) Nama Aplikasi Fungsi untuk Kontainer.
deployToSlotOrASE
Menyebarkan ke Slot atau lingkungan App Service
(Opsional) Atur ke true untuk menyebarkan ke slot penyebaran yang ada atau lingkungan Azure App Service. Untuk kedua target, tugas memerlukan nama Grup Sumber Daya. Untuk opsi slot penyebaran, defaultnya adalah menyebarkan 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 cukup tentukan nama Grup Sumber Daya.
Nilai default: salah
resourceGroupName
Grup sumber daya
(Diperlukan jika deployToSlotOrASE benar) Nama Grup Sumber Daya yang berisi Aplikasi Fungsi untuk Kontainer.
slotName
Slot
(Diperlukan) Masukkan atau pilih slot yang ada selain slot produksi .
Nilai default: produksi
imageName
Nama gambar
(Diperlukan) Gambar yang akan digunakan untuk penyebaran.
Contoh: myregistry.azurecr.io/nginx:latest
containerCommand
Perintah startup
(Opsional) Perintah startup yang akan dijalankan setelah penyebaran.
appSettings
Pengaturan aplikasi
(Opsional) Pengaturan aplikasi yang akan dimasukkan menggunakan sintaks '-key value'. Nilai yang berisi spasi harus diapit dalam tanda kutip ganda.
Contoh: -Port 5000 -RequestTimeout 5000 -WEBSITE_TIME_ZONE "Waktu Standar Timur"
configurationStrings
Pengaturan konfigurasi
(Opsional) String konfigurasi yang akan dimasukkan menggunakan sintaks '-key value'. Nilai yang berisi spasi harus diapit dalam tanda kutip ganda.
Contoh: -phpVersion 5.6 -linuxFxVersion: node|6.11

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)

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 perwakilan layanan yang digunakan dan ada dalam pendaftaran aplikasi. Untuk 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.

Tanya Jawab Umum

Bagaimana cara mengonfigurasi koneksi layanan saya?

Tugas ini memerlukan koneksi layanan Azure Resource Manager.

Bagaimana cara mengonfigurasi penyebaran pekerjaan web dengan Insights Aplikasi?

Saat Anda menyebarkan ke App Service, jika Anda memiliki Insights Aplikasi yang dikonfigurasi dan Anda telah mengaktifkan Remove additional files at destination, Anda juga perlu mengaktifkan Exclude files from the App_Data folder. Mengaktifkan opsi ini membuat ekstensi Insights Aplikasi dalam keadaan aman. Langkah ini diperlukan karena WebJob berkelanjutan Insights Aplikasi 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.

Sumber Terbuka

Tugas ini sumber terbuka pada GitHub. Umpan balik dan kontribusi dipersilakan.