يوفر استضافة التطبيقات بناء ونشر الدعم لتطبيقات الويب التي تم تطويرها في هذه الأطر:
يحمل هذا الريبو رمز المحولات التي تتيح الدعم لهذه الأطر. على مستوى عالٍ ، تقوم هذه المحولات بتحويل تكوينات محددة إطار عمل في مواصفات حزمة الإخراج التي يمكن أن تستخدمها استضافة التطبيق لتكوين دعم الأطر. لمزيد من المعلومات ، انظر تكامل الإطار.
حزمة إخراج استضافة التطبيق هي مواصفات تعتمد على الملفات تتيح أطر عمل مختلفة بتكوين وتخصيص نشر تطبيقات التطبيق الخاصة بها لدعم محسّن.
يمكن نشر أي إطار عمل يمكنه إنشاء إخراج بناء وفقًا لحزمة إخراج استضافة التطبيق على استضافة التطبيقات.
تتكون حزمة الإخراج في المقام الأول من ملف bundle.yaml الذي يجلس داخل دليل .apphosting . يحتوي هذا backdle.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 ). افترض أن هذا الأمر يتم تشغيله من جذر مساحة العمل. يجب أن يكون هذا هو الإصدار المدير من أمر بدء الخادم. | ذ |
environmentVariables | EnvVarConfig[] | متغيرات البيئة الموجودة في بيئة تنفيذ الخادم. | ن |
concurrency | number | الحد الأقصى لعدد الطلبات المتزامنة التي يمكن أن يتلقاها كل مثيل خادم. | ن |
cpu | number | عدد وحدات المعالجة المركزية المستخدمة في مثيل خادم واحد. | ن |
memoryMiB | number | كمية الذاكرة المتاحة لمثيل الخادم. | ن |
minInstance | number | الحد الأدنى لعدد حالات الوظائف التي قد تتعايش في وقت معين. | ن |
MaxInstance | number | الحد الأقصى لعدد الحالات الوظيفية التي قد تتعايش في وقت معين. | ن |
تتم مشاركة العديد من هذه الحقول مع apphosting.yaml . راجع وثائق مرجع RunConfig لسياق إضافي والقيم الافتراضية.
interface EnvVarConfig {
variable : string ;
value : string ;
availability : 'RUNTIME'
}| مجال | يكتب | وصف | مطلوب؟ |
|---|---|---|---|
variable | string | اسم متغير البيئة | ذ |
value | string | القيمة المرتبطة بمتغير البيئة | ذ |
availability | RUNTIME | حيث سيكون المتغير متاحًا. في الوقت الحالي ، سيكون هذا دائمًا RUNTIME | ذ |
interface Metadata {
adapterPackageName : string ;
adapterVersion : string ;
framework : string ;
frameworkVersion ?: string ;
}| مجال | يكتب | وصف | مطلوب؟ |
|---|---|---|---|
adapterPackageName | string | اسم المحول (يجب أن يكون اسم حزمة NPM) | ذ |
adapterVersion | string | نسخة من المحول | ذ |
framework | string | اسم الإطار الذي يتم دعمه | ذ |
frameworkVersion | string | نسخة من الإطار الذي يتم دعمه | ن |
فيما يلي ملف عينة 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 في هذا التنسيق ، ستكون استضافة التطبيقات قادرة على نشر أي إطار يدعم تقديم جانب الخادم.