Hosting Aplikasi Menyediakan dukungan build dan penyebaran yang bebas konfigurasi untuk aplikasi web yang dikembangkan dalam kerangka kerja ini:
Repo ini memegang kode untuk adaptor yang memungkinkan dukungan untuk kerangka kerja ini. Pada tingkat tinggi adaptor ini mengubah kerangka kerja konfigurasi spesifik menjadi spesifikasi bundel output yang dapat digunakan hosting aplikasi untuk mengonfigurasi dukungan kerangka kerja. Untuk informasi lebih lanjut, lihat Integrasi Kerangka.
Bundel output hosting aplikasi adalah spesifikasi berbasis file yang memungkinkan kerangka kerja yang berbeda untuk mengonfigurasi dan menyesuaikan penyebaran hosting aplikasi mereka untuk dukungan yang ditingkatkan.
Kerangka apa pun yang dapat menghasilkan output build sesuai dengan bundel output hosting aplikasi dapat digunakan pada hosting aplikasi.
Bundel output terutama terdiri dari file bundle.yaml yang berada di dalam direktori .apphosting . Bundle.YAML ini berisi semua cara kerangka kerja dapat mengonfigurasi hosting aplikasi ketika pengguna menggunakan aplikasi mereka.
Catatan
Hosting aplikasi secara teknis mendukung semua aplikasi node, tetapi tidak ada fitur kerangka kerja khusus yang akan diaktifkan tanpa bundel output.
Bundel output terkandung dalam satu file:
.apphosting/bundle.yamlSelama ada file ini dan mengikuti skema, hosting aplikasi akan dapat memproses build dengan benar.
Skema ini juga dapat ditemukan dalam sumber
interface OutputBundle {
version : "v1"
runConfig : RunConfig ;
metadata : Metadata ;
} version ini mewakili versi bundel output mana yang sedang digunakan. Versi saat ini adalah V1.
Bidang runConfig mengkonfigurasi layanan Cloud Run yang terkait dengan Backend Hosting Aplikasi.
interface RunConfig {
runCommand : string ;
environmentVariables ?: EnvVarConfig [ ] ;
concurrency ?: number ;
cpu ?: number ;
memoryMiB ?: number ;
minInstances ?: number ;
maxInstances ?: number ;
}| Bidang | Jenis | Keterangan | Diperlukan? |
|---|---|---|---|
runCommand | string | Perintah untuk memulai server (misalnya node dist/index.js ). Asumsikan perintah ini dijalankan dari root dir of the workspace. Ini harus menjadi versi yang diproduksi dari perintah start server. | y |
environmentVariables | EnvVarConfig[] | Variabel lingkungan yang ada di lingkungan eksekusi server. | N |
concurrency | number | Jumlah maksimum permintaan bersamaan yang dapat diterima setiap instance server. | N |
cpu | number | Jumlah CPU yang digunakan dalam satu instance server tunggal. | N |
memoryMiB | number | Jumlah memori yang tersedia untuk instance server. | N |
minInstance | number | Batas jumlah minimum instance fungsi yang dapat hidup berdampingan pada waktu tertentu. | N |
MaxInstance | number | Batas pada jumlah maksimum instance fungsi yang dapat hidup berdampingan pada waktu tertentu. | N |
Banyak bidang ini dibagikan dengan apphosting.yaml . Lihat dokumentasi referensi runconfig untuk konteks tambahan dan nilai default.
interface EnvVarConfig {
variable : string ;
value : string ;
availability : 'RUNTIME'
}| Bidang | Jenis | Keterangan | Diperlukan? |
|---|---|---|---|
variable | string | Nama Variabel Lingkungan | y |
value | string | Nilai yang terkait dengan variabel lingkungan | y |
availability | RUNTIME | Di mana variabel akan tersedia. Untuk saat ini ini akan selalu menjadi RUNTIME | y |
interface Metadata {
adapterPackageName : string ;
adapterVersion : string ;
framework : string ;
frameworkVersion ?: string ;
}| Bidang | Jenis | Keterangan | Diperlukan? |
|---|---|---|---|
adapterPackageName | string | Nama Adaptor (ini harus menjadi nama paket NPM) | y |
adapterVersion | string | Versi adaptor | y |
framework | string | Nama kerangka kerja yang sedang didukung | y |
frameworkVersion | string | Versi kerangka kerja yang sedang didukung | N |
Berikut adalah file bundle.yaml yang menyatukan semua ini:
> cat .apphosting/bundle.yaml
version: v1
runConfig:
runCommand:
- node
- dist/index.js
environmentVariables:
- variable: VAR
value: 8080
availability: RUNTIME
concurrency: 80
cpu: 2
memoryMiB: 512
minInstances: 0
maxInstances: 14
metadata:
adapterNpmPackageName: npm-name
adapterVersion: 12.0.0
frameworkNpmPackageName: framework-name
adapterVersion: 1.0.0
Selama Anda memiliki bundle.yaml dalam format ini, hosting aplikasi akan dapat menggunakan kerangka kerja apa pun yang mendukung rendering sisi server.