

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

# Referensi skema manifes penerapan
<a name="dotnet-manifest-schema"></a>

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
<a name="dotnet-manifest-schema-structure"></a>

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

**Example Struktur manifes dasar**  

```
{
  "manifestVersion": 1,
  "skipIISReset": false,
  "iisConfig": {
    "websites": [...],
    "appPools": [...]
  },
  "deployments": {
    "msDeploy": [...],
    "aspNetCoreWeb": [...],
    "custom": [...]
  }
}
```

### Properti tingkat atas
<a name="dotnet-manifest-schema-top-level"></a>

`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.
Saat menggunakan`skipIISReset`, [RestartAppServer](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RestartAppServer.html)operasi 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 mencakup`msDeploy`,`aspNetCoreWeb`, dan jenis `custom` penyebaran.

`iisConfig` (opsional)  
*Jenis:* Objek  
Mendefinisikan pengaturan konfigurasi IIS untuk diterapkan sebelum menerapkan aplikasi. Mendukung konfigurasi situs web dan kumpulan aplikasi.

## Konfigurasi IIS
<a name="dotnet-manifest-schema-iis-config"></a>

`iisConfig`Bagian ini memungkinkan Anda untuk mengkonfigurasi pengaturan IIS sebelum menerapkan aplikasi Anda. Ini termasuk menyiapkan kumpulan aplikasi dengan konfigurasi khusus dan mengonfigurasi situs web IIS dengan binding khusus.

### Situs web IIS
<a name="dotnet-manifest-schema-websites"></a>

Situs web IIS memungkinkan Anda mengonfigurasi pengaturan situs web khusus termasuk jalur fisik dan binding jaringan sebelum menerapkan aplikasi Anda.

**Pertimbangan penting untuk membuat situs web IIS yang berbeda**  
*Urutan penyiapan situs web:* Situs web dikonfigurasi secara berurutan sesuai urutan kemunculannya dalam array. `websites` Platform memproses setiap konfigurasi situs web secara berurutan, jadi pastikan pemesanan yang tepat jika Anda memiliki ketergantungan antar situs web.
*Firewall dan akses port:* Hanya port 80 yang secara otomatis diekspos melalui konfigurasi firewall Elastic Beanstalk Windows default. Jika Anda mengonfigurasi situs web untuk menggunakan port non-standar, Anda harus menentukan aturan firewall khusus melalui ebextensions atau skrip penerapan khusus untuk memungkinkan akses eksternal ke port ini.

**Example Konfigurasi situs web**  

```
{
  "iisConfig": {
    "websites": [
      {
        "name": "MyCustomSite",
        "physicalPath": "C:\inetpub\wwwroot\mysite",
        "bindings": [
          {
            "protocol": "http",
            "port": 8080,
            "hostName": "mysite.local"
          },
          {
            "protocol": "https",
            "port": 8443
          }
        ]
      }
    ]
  }
}
```Properti situs web

`name`(Diperlukan)  
*Tipe*: String  
Nama situs web IIS. Nama ini digunakan untuk mengidentifikasi situs web di Manajer IIS dan harus unik dalam konfigurasi IIS.

`physicalPath`(Diperlukan)  
*Tipe*: String  
Jalur fisik di server tempat file situs web disimpan. Jalur ini harus dapat diakses oleh proses pekerja IIS.

`bindings`(Diperlukan)  
*Tipe*: Array  
*Item minimum:* 1  
Array konfigurasi pengikatan yang menentukan bagaimana situs web merespons permintaan jaringan. Setiap pengikatan menentukan protokol, port, dan nama host opsional.

#### Binding situs web
<a name="dotnet-manifest-schema-bindings"></a>

Binding situs web menentukan titik akhir jaringan tempat situs web IIS Anda akan mendengarkan permintaan yang masuk.

`protocol`(Diperlukan)  
*Tipe*: String  
*Nilai yang valid:* “http”, “https”  
Protokol yang digunakan untuk mengikat.

`port`(Diperlukan)  
*Tipe*: Integer  
*Rentang yang valid: 1-65535*  
Nomor port tempat situs web akan mendengarkan permintaan.

`hostName` (opsional)  
*Tipe*: String  
Nama host (nama domain) untuk pengikatan.

### Kolam aplikasi
<a name="dotnet-manifest-schema-app-pools"></a>

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

**Example 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
<a name="dotnet-manifest-schema-cpu-config"></a>

`cpu`Objek 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
<a name="dotnet-manifest-schema-recycling-config"></a>

`recycling`Objek 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 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
<a name="dotnet-manifest-schema-deployments"></a>

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

### MSDeploy penyebaran
<a name="dotnet-manifest-schema-msdeploy"></a>

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

**Example 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
<a name="dotnet-manifest-schema-msdeploy-parameters"></a>

`appBundle`(Diperlukan)  
*Tipe*: String  
Path ke bundel aplikasi (file ZIP) relatif terhadap file manifes. Bundel ini berisi file aplikasi untuk menyebarkan.

`iisWebSite` (opsional)  
*Tipe*: String  
*Default:* “Situs Web Default”  
Situs web IIS untuk menyebarkan aplikasi ke. Secara default, aplikasi dikerahkan ke “Situs Web Default”. Secara opsional, Anda dapat menentukan nama situs web yang berbeda, seperti yang dikonfigurasi di `iisConfig.websites` bagian.

`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
<a name="dotnet-manifest-schema-aspnetcore"></a>

Penerapan ASP.NET Core dirancang khusus untuk aplikasi.NET Core dan .NET 5\$1.

**Example 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.

`iisWebSite` (opsional)  
*Tipe*: String  
*Default:* “Situs Web Default”  
Situs web IIS untuk menyebarkan aplikasi ASP.NET Core ke. Secara default, aplikasi dikerahkan ke “Situs Web Default”. Secara opsional, Anda dapat menentukan nama situs web yang berbeda, seperti yang dikonfigurasi di `iisConfig.websites` bagian.

`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 kustom
<a name="dotnet-manifest-schema-custom"></a>

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.

**Example Konfigurasi penerapan kustom**  

```
{
  "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
<a name="dotnet-manifest-schema-scripts"></a>

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
<a name="dotnet-manifest-schema-script-events"></a>

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
<a name="dotnet-manifest-schema-script-properties"></a>

Setiap skrip didefinisikan sebagai objek dengan properti berikut:

`file`(Diperlukan)  
*Tipe*: String  
Path ke file PowerShell skrip relatif terhadap file manifes. Script harus memiliki `.ps1` ekstensi.

`ignoreErrors` (opsional)  
*Jenis:* Boolean  
*Default:* false  
Saat disetel ke`true`, penerapan berlanjut meskipun skrip gagal. Gunakan ini untuk skrip non-kritis atau operasi pembersihan.

**Example Contoh konfigurasi skrip**  

```
{
  "scripts": {
    "preInstall": {
      "file": "backup-config.ps1",
      "ignoreErrors": true
    },
    "postInstall": {
      "file": "configure-app.ps1"
    }
  }
}
```