Referensi skema manifes penerapan - AWS Elastic Beanstalk

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Referensi skema manifes penerapan

Manifes penyebaran adalah file JSON yang mendefinisikan bagaimana Elastic Beanstalk harus menyebarkan dan mengkonfigurasi aplikasi Windows Anda. Bagian ini menyediakan referensi komprehensif untuk semua properti yang didukung dan opsi konfigurasi dalam skema manifes.

Struktur manifes

Manifes penerapan mengikuti skema JSON tertentu dengan struktur tingkat atas berikut:

contoh Struktur manifes dasar
{ "manifestVersion": 1, "skipIISReset": false, "iisConfig": { "appPools": [...] }, "deployments": { "msDeploy": [...], "aspNetCoreWeb": [...], "custom": [...] } }

Properti tingkat atas

manifestVersion(diperlukan)

Jenis: Angka

Default: 1

Nilai yang valid: 1

Menentukan versi skema manifes. Saat ini, hanya versi 1 yang didukung.

skipIISReset (opsional)

Jenis: Boolean

Default: false

Mengontrol apakah IIS disetel ulang selama penerapan aplikasi. Bendera ini memengaruhi keduanya msDeploy dan jenis aspNetCoreWeb penerapan.

Perilaku:

  • Tidak ditentukan atau false (default): Reset IIS dilakukan selama operasi penginstalan, uninstall, dan pembaruan. Ini adalah perilaku tradisional.

  • true: Reset IIS dilewati selama operasi penerapan.

Manfaat:

  • Mengurangi waktu henti - Aplikasi mengalami interupsi layanan yang lebih pendek selama penerapan.

  • Penerapan yang lebih cepat — Menghilangkan waktu yang diperlukan IIS untuk memulai ulang dan menginisialisasi ulang sepenuhnya.

catatan

Saat menggunakanskipIISReset, RestartAppServeroperasi melakukan reset IIS terlepas dari pengaturan bendera ini.

Contoh:

{ "manifestVersion": 1, "skipIISReset": true, "deployments": { "aspNetCoreWeb": [ { "name": "my-dotnet-core-app", "parameters": { "archive": "dotnet-core-app.zip", "iisPath": "/" } } ] } }
deployments(diperlukan)

Jenis: Objek

Berisi konfigurasi penerapan untuk aplikasi Anda. Objek ini dapat mencakupmsDeploy,aspNetCoreWeb, dan jenis custom penyebaran.

iisConfig (opsional)

Jenis: Objek

Mendefinisikan pengaturan konfigurasi IIS untuk diterapkan sebelum menerapkan aplikasi. Saat ini mendukung konfigurasi kumpulan aplikasi.

Konfigurasi IIS

iisConfigBagian ini memungkinkan Anda untuk mengkonfigurasi pengaturan IIS sebelum menerapkan aplikasi Anda. Ini sangat berguna untuk menyiapkan kumpulan aplikasi dengan konfigurasi tertentu.

Kolam aplikasi

Kumpulan aplikasi menyediakan isolasi antar aplikasi dan memungkinkan Anda mengonfigurasi pengaturan runtime untuk grup aplikasi.

contoh Konfigurasi kolam aplikasi
{ "iisConfig": { "appPools": [ { "name": "MyAppPool", "enable32Bit": false, "managedPipelineMode": "Integrated", "managedRuntimeVersion": "v4.0", "queueLength": 1000, "cpu": { "limitPercentage": 80, "limitAction": "Throttle", "limitMonitoringInterval": 5 }, "recycling": { "regularTimeInterval": 1440, "requestLimit": 10000, "memory": 1048576, "privateMemory": 524288 } } ] } }
Properti kolam aplikasi
name(diperlukan)

Tipe: String

Nama kolam aplikasi. Nama ini digunakan untuk mereferensikan kumpulan dalam konfigurasi penerapan.

enable32Bit (opsional)

Jenis: Boolean

Memungkinkan aplikasi 32-bit untuk berjalan pada versi 64-bit Windows. Setel ke aplikasi true lama yang membutuhkan kompatibilitas 32-bit.

managedPipelineMode (opsional)

Tipe: String

Nilai yang valid: “Terintegrasi”, “Klasik”

Menentukan modus permintaan-pemrosesan untuk kumpulan aplikasi.

managedRuntimeVersion (opsional)

Tipe: String

Nilai yang valid: “Tidak Ada Kode Terkelola”, “v2.0", “v4.0"

Menentukan versi.NET Framework untuk kolam aplikasi.

queueLength (opsional)

Tipe: Integer

Jumlah maksimum permintaan yang HTTP.sys antrian untuk kumpulan aplikasi sebelum menolak permintaan tambahan.

Konfigurasi CPU

cpuObjek mengonfigurasi batas penggunaan CPU dan pemantauan untuk kumpulan aplikasi.

limitPercentage (opsional)

Jenis: Angka

Persentase maksimum waktu CPU yang dapat dikonsumsi oleh proses pekerja di kumpulan aplikasi.

limitAction (opsional)

Tipe: String

Nilai yang valid: "NoAction“, “KillW3wp”, “Throttle”, "” ThrottleUnderLoad

Tindakan yang harus diambil ketika batas CPU tercapai.

limitMonitoringInterval (opsional)

Jenis: Angka

Atur ulang periode (dalam menit) untuk pemantauan CPU dan batas pelambatan.

Konfigurasi daur ulang

recyclingObjek mengonfigurasi kapan dan bagaimana proses pekerja kumpulan aplikasi didaur ulang.

regularTimeInterval (opsional)

Tipe: Integer

Interval waktu (dalam menit) setelah itu kolam aplikasi didaur ulang. Setel ke 0 untuk menonaktifkan daur ulang berbasis waktu.

requestLimit (opsional)

Tipe: Integer

Jumlah maksimum permintaan yang diproses oleh kumpulan aplikasi sebelum didaur ulang.

memory (opsional)

Tipe: Integer

Jumlah memori virtual (dalam kilobyte) yang memicu daur ulang proses pekerja.

privateMemory (opsional)

Tipe: Integer

Jumlah memori pribadi (dalam kilobyte) yang memicu daur ulang proses pekerja.

Jenis deployment

deploymentsObjek berisi array konfigurasi penerapan untuk berbagai jenis aplikasi. Setiap jenis penerapan memiliki properti dan kasus penggunaan tertentu.

MSDeploy penyebaran

MSDeploy deployment digunakan untuk aplikasi.NET Framework tradisional yang dapat digunakan menggunakan Web Deploy (). MSDeploy

contoh MSDeploy konfigurasi penerapan
{ "deployments": { "msDeploy": [ { "name": "WebApp", "description": "Main web application", "parameters": { "appBundle": "webapp.zip", "iisPath": "/", "appPool": "DefaultAppPool" } } ] } }
MSDeploy properti penyebaran
name(diperlukan)

Tipe: String

Nama unik untuk penyebaran. Nama ini harus unik di semua penerapan dalam manifes.

description (opsional)

Tipe: String

Deskripsi penyebaran yang dapat dibaca manusia.

parameters(diperlukan)

Jenis: Objek

Parameter konfigurasi untuk MSDeploy operasi.

scripts (opsional)

Jenis: Objek

PowerShell skrip untuk dijalankan pada berbagai tahap siklus hidup penerapan.

MSDeploy parameter

appBundle(diperlukan)

Tipe: String

Path ke bundel aplikasi (file ZIP) relatif terhadap file manifes. Bundel ini berisi file aplikasi untuk menyebarkan.

iisPath (opsional)

Tipe: String

Default: “/”

Jalur direktori virtual di IIS tempat aplikasi akan digunakan. Gunakan “/” untuk jalur root atau “/api” untuk subdirektori.

appPool (opsional)

Tipe: String

Nama kumpulan aplikasi untuk menjalankan aplikasi ini.

Penerapan ASP.NET Core

Penerapan ASP.NET Core dirancang khusus untuk aplikasi.NET Core dan .NET 5+.

contoh Konfigurasi penerapan ASP.NET Core
{ "deployments": { "aspNetCoreWeb": [ { "name": "CoreAPI", "description": "ASP.NET Core Web API", "parameters": { "appBundle": "coreapi.zip", "iisPath": "/api", "appPool": "CoreAppPool" } } ] } }

Penerapan ASP.NET Core menggunakan struktur properti yang sama dengan MSDeploy penerapan, dengan perbedaan utamanya adalah lingkungan runtime dan model hosting yang digunakan untuk aplikasi.

Parameter penyebaran ASP.NET Core
appBundle(diperlukan)

Tipe: String

Path ke bundel aplikasi relatif terhadap file manifes. Ini bisa berupa arsip ZIP atau jalur direktori yang berisi aplikasi ASP.NET Core yang diterbitkan.

iisPath (opsional)

Tipe: String

Default: “/”

Jalur direktori virtual di IIS untuk aplikasi ASP.NET Core.

appPool (opsional)

Tipe: String

Kumpulan aplikasi untuk aplikasi ASP.NET Core. Pool akan dikonfigurasi dengan tepat untuk hosting ASP.NET Core.

Penerapan khusus

Penerapan khusus memberikan kontrol penuh atas proses penyebaran melalui skrip. PowerShell Jenis penerapan ini berguna untuk skenario kompleks yang memerlukan instalasi, konfigurasi, atau logika penerapan khusus.

contoh Konfigurasi penerapan khusus
{ "deployments": { "custom": [ { "name": "CustomService", "description": "Custom Windows service deployment", "architecture": 32, "scripts": { "install": { "file": "install-service.ps1" }, "restart": { "file": "restart-service.ps1" }, "uninstall": { "file": "uninstall-service.ps1", "ignoreErrors": true } } } ] } }
Properti penyebaran kustom
name(diperlukan)

Tipe: String

Nama unik untuk penerapan kustom.

description (opsional)

Tipe: String

Deskripsi penerapan kustom.

architecture (opsional)

Tipe: Integer

Default: 32

Nilai yang valid: 32, 64

Spesifikasi arsitektur untuk mode eksekusi skrip PowerShell

scripts(diperlukan)

Jenis: Objek

PowerShell skrip yang menentukan perilaku penerapan. Penerapan khusus mendukung jenis skrip tambahan dibandingkan dengan jenis penerapan lainnya.

Skrip penyebaran

Skrip penerapan adalah PowerShell skrip yang berjalan pada titik-titik tertentu selama siklus hidup penerapan. Jenis penyebaran yang berbeda mendukung kumpulan peristiwa skrip yang berbeda.

Acara skrip

Peristiwa skrip berikut tersedia tergantung pada jenis penerapan:

Skrip penerapan standar (MSDeploy dan Web) aspNetCore
preInstall

Berjalan sebelum aplikasi diinstal atau diperbarui.

postInstall

Berjalan setelah aplikasi diinstal atau diperbarui.

preRestart

Berjalan sebelum aplikasi dimulai ulang.

postRestart

Berjalan setelah aplikasi dimulai ulang.

preUninstall

Berjalan sebelum aplikasi dihapus.

postUninstall

Berjalan setelah aplikasi dihapus.

Skrip penerapan khusus (hanya penerapan khusus)
install

Skrip instalasi utama untuk penerapan kustom. Skrip ini bertanggung jawab untuk menginstal aplikasi atau layanan.

restart

Script untuk me-restart aplikasi atau layanan. Disebut ketika lingkungan dimulai ulang.

uninstall

Script untuk menghapus instalasi aplikasi atau layanan. Dipanggil selama penghentian lingkungan atau penghapusan aplikasi.

Properti skrip

Setiap skrip didefinisikan sebagai objek dengan properti berikut:

file(diperlukan)

Tipe: String

Path ke file PowerShell skrip relatif terhadap file manifes. Skrip harus memiliki .ps1 ekstensi.

ignoreErrors (opsional)

Jenis: Boolean

Default: false

Saat disetel ketrue, penerapan berlanjut meskipun skrip gagal. Gunakan ini untuk skrip non-kritis atau operasi pembersihan.

contoh Contoh konfigurasi skrip
{ "scripts": { "preInstall": { "file": "backup-config.ps1", "ignoreErrors": true }, "postInstall": { "file": "configure-app.ps1" } } }