แอพโฮสติ้งให้การสร้างและปรับใช้การสนับสนุนสำหรับเว็บแอพที่พัฒนาขึ้นในกรอบเหล่านี้:
repo นี้ถือรหัสสำหรับอะแดปเตอร์ที่เปิดใช้งานการสนับสนุนสำหรับเฟรมเวิร์กเหล่านี้ ในระดับสูงอะแดปเตอร์เหล่านี้แปลงการกำหนดค่าเฉพาะเฟรมเวิร์กเป็นข้อมูลจำเพาะของมัดเอาท์พุทที่แอปโฮสติ้งสามารถใช้เพื่อกำหนดค่าการสนับสนุนเฟรมเวิร์ก สำหรับข้อมูลเพิ่มเติมดูการรวมกรอบการทำงาน
แอพโฮสติ้งโฮสติ้งมัดเป็นข้อกำหนดตามไฟล์ที่อนุญาตให้เฟรมเวิร์กที่แตกต่างกันเพื่อกำหนดค่าและปรับแต่งการปรับใช้แอปโฮสติ้งเพื่อการสนับสนุนขั้นสูง
เฟรมเวิร์กใด ๆ ที่สามารถสร้างเอาต์พุตบิลด์ได้ตามชุดแอพโฮสติ้งมัดเอาท์พุทสามารถปรับใช้ในแอพโฮสติ้ง
มัดเอาท์พุทส่วนใหญ่ประกอบด้วยไฟล์ bundle.yaml ที่อยู่ภายใน .apphosting . bundle.yaml นี้มีทุกวิธีที่เฟรมเวิร์กสามารถกำหนดค่าแอพโฮสติ้งเมื่อผู้ใช้ปรับใช้แอปพลิเคชันของพวกเขา
บันทึก
แอพโฮสติ้งในทางเทคนิครองรับแอปพลิเคชันโหนดทั้งหมดทั้งหมด แต่จะไม่มีการเปิดใช้งานคุณสมบัติเฟรมเวิร์กแบบกำหนดเองโดยไม่มีมัดเอาต์พุต
มัดเอาต์พุตมีอยู่ในไฟล์เดียว:
.apphosting/bundle.yamlตราบใดที่ไฟล์นี้มีอยู่และติดตามสคีมาแอพโฮสติ้งจะสามารถประมวลผลการสร้างได้อย่างถูกต้อง
สคีมาสามารถพบได้ในแหล่งกำเนิด
interface OutputBundle {
version : "v1"
runConfig : RunConfig ;
metadata : Metadata ;
} version แสดงถึงเวอร์ชันที่ใช้งานออกมาในขณะนี้ เวอร์ชันปัจจุบันคือ v1
ฟิลด์ runConfig กำหนดค่าบริการคลาวด์รันที่เชื่อมโยงกับแอพโฮสติ้งแบ็กเอนด์
interface RunConfig {
runCommand : string ;
environmentVariables ?: EnvVarConfig [ ] ;
concurrency ?: number ;
cpu ?: number ;
memoryMiB ?: number ;
minInstances ?: number ;
maxInstances ?: number ;
}| สนาม | พิมพ์ | คำอธิบาย | ที่จำเป็น? |
|---|---|---|---|
runCommand | string | คำสั่งเพื่อเริ่มเซิร์ฟเวอร์ (เช่น node dist/index.js ) สมมติว่าคำสั่งนี้เรียกใช้จากรูท DIR ของพื้นที่ทำงาน นี่ควรเป็นเวอร์ชันการผลิตของคำสั่งเริ่มต้นเซิร์ฟเวอร์ | y |
environmentVariables | EnvVarConfig[] | ตัวแปรสภาพแวดล้อมที่มีอยู่ในสภาพแวดล้อมการดำเนินการเซิร์ฟเวอร์ | n |
concurrency | number | จำนวนสูงสุดของคำขอพร้อมกันที่แต่ละอินสแตนซ์เซิร์ฟเวอร์สามารถรับได้ | n |
cpu | number | จำนวน CPU ที่ใช้ในอินสแตนซ์เซิร์ฟเวอร์เดียว | n |
memoryMiB | number | จำนวนหน่วยความจำที่มีอยู่สำหรับอินสแตนซ์เซิร์ฟเวอร์ | n |
minInstance | number | ขีด จำกัด ของจำนวนขั้นต่ำของอินสแตนซ์ฟังก์ชันที่อาจอยู่ร่วมกันในเวลาที่กำหนด | n |
MaxInstance | number | ขีด จำกัด ของจำนวนฟังก์ชันสูงสุดของอินสแตนซ์ที่อาจอยู่ร่วมกันในเวลาที่กำหนด | n |
ฟิลด์เหล่านี้จำนวนมากแบ่งปันกับ apphosting.yaml ดูเอกสารอ้างอิง RunConfig สำหรับบริบทเพิ่มเติมและค่าเริ่มต้น
interface EnvVarConfig {
variable : string ;
value : string ;
availability : 'RUNTIME'
}| สนาม | พิมพ์ | คำอธิบาย | ที่จำเป็น? |
|---|---|---|---|
variable | string | ชื่อของตัวแปรสภาพแวดล้อม | y |
value | string | ค่าที่เกี่ยวข้องกับตัวแปรสภาพแวดล้อม | y |
availability | RUNTIME | ในกรณีที่ตัวแปรจะพร้อมใช้งาน สำหรับตอนนี้สิ่งนี้จะเป็น RUNTIME เสมอ | y |
interface Metadata {
adapterPackageName : string ;
adapterVersion : string ;
framework : string ;
frameworkVersion ?: string ;
}| สนาม | พิมพ์ | คำอธิบาย | ที่จำเป็น? |
|---|---|---|---|
adapterPackageName | string | ชื่อของอะแดปเตอร์ (นี่ควรเป็นชื่อแพ็คเกจ NPM) | y |
adapterVersion | string | เวอร์ชันของอะแดปเตอร์ | y |
framework | string | ชื่อของกรอบที่ได้รับการสนับสนุน | y |
frameworkVersion | string | เวอร์ชันของเฟรมเวิร์กที่ได้รับการสนับสนุน | n |
นี่คือตัวอย่าง bundle.yaml ที่นำทั้งหมดนี้เข้าด้วยกัน:
> 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
ตราบใดที่คุณมี bundle.yaml ในรูปแบบนี้การโฮสต์แอพจะสามารถปรับใช้เฟรมเวิร์กใด ๆ ที่รองรับการเรนเดอร์ด้านเซิร์ฟเวอร์