Das App-Hosting bietet Konfigurationsfreie Build- und Bereitstellungsunterstützung für Web-Apps, die in diesen Frameworks entwickelt wurden:
Dieses Repo enthält den Code für die Adapter, die die Unterstützung für diese Frameworks ermöglichen. Auf einer hohen Ebene transformieren diese Adapter -Frameworkspezifische Konfigurationen in eine Ausgabebündelspezifikation, mit der das App -Hosting zum Konfigurieren von Frameworks -Unterstützung verwendet werden kann. Weitere Informationen finden Sie in der Integration von Framework.
Das App -Hosting -Ausgabepaket ist eine dateibasierte Spezifikation, mit der verschiedene Frameworks deren App -Hosting -Bereitstellung für erweiterte Unterstützung konfigurieren und anpassen können.
Jedes Framework, mit dem eine Build -Ausgabe gemäß dem App -Hosting -Ausgangsbündel erstellt werden kann, kann beim App -Hosting bereitgestellt werden.
Das Ausgabepaket besteht hauptsächlich aus einer bundle.yaml -Datei, die sich im Verzeichnis von .apphosting befindet. Dieses Bundle.yaml enthält alle Möglichkeiten, wie Frameworks App -Hosting konfigurieren können, wenn Benutzer ihre Anwendungen bereitstellen.
Notiz
Das App -Hosting unterstützt technisch alle Knotenanwendungen, aber ohne das Ausgabebündel werden keine benutzerdefinierten Framework -Funktionen aktiviert.
Das Ausgabepaket ist in einer einzelnen Datei enthalten:
.apphosting/bundle.yamlSolange diese Datei vorhanden ist und dem Schema folgt, kann das App -Hosting den Build ordnungsgemäß verarbeiten.
Das Schema kann auch in der Quelle gefunden werden
interface OutputBundle {
version : "v1"
runConfig : RunConfig ;
metadata : Metadata ;
} Die version stellt dar, welche Ausgabepaketversion derzeit verwendet wird. Die aktuelle Version ist v1.
Die runConfig -Felder konfiguriert den Cloud -Lauf -Dienst, der dem App -Hosting -Backend zugeordnet ist.
interface RunConfig {
runCommand : string ;
environmentVariables ?: EnvVarConfig [ ] ;
concurrency ?: number ;
cpu ?: number ;
memoryMiB ?: number ;
minInstances ?: number ;
maxInstances ?: number ;
}| Feld | Typ | Beschreibung | Erforderlich? |
|---|---|---|---|
runCommand | string | Befehl zum Starten des Servers (z. B. node dist/index.js ). Angenommen, dieser Befehl wird aus der Root -Dire des Arbeitsbereichs ausgeführt. Dies sollte die produktionierte Version des Befehls Serverstart sein. | y |
environmentVariables | EnvVarConfig[] | Umgebungsvariablen in der Serverausführungsumgebung vorhanden. | N |
concurrency | number | Die maximale Anzahl gleichzeitiger Anfragen, die jede Serverinstanz empfangen kann. | N |
cpu | number | Die Anzahl der in einer einzelnen Serverinstanz verwendeten CPUs. | N |
memoryMiB | number | Die für eine Serverinstanz verfügbare Speichermenge. | N |
minInstance | number | Die Grenze für die minimale Anzahl von Funktionsinstanzen, die zu einem bestimmten Zeitpunkt koexistieren können. | N |
MaxInstance | number | Die Grenze für die maximale Anzahl von Funktionsinstanzen, die zu einem bestimmten Zeitpunkt koexistieren können. | N |
Viele dieser Felder werden mit apphosting.yaml geteilt. In der RunConfig -Referenzdokumentation finden Sie zusätzlichen Kontext- und Standardwerte.
interface EnvVarConfig {
variable : string ;
value : string ;
availability : 'RUNTIME'
}| Feld | Typ | Beschreibung | Erforderlich? |
|---|---|---|---|
variable | string | Name der Umgebungsvariablen | y |
value | string | Wert, der mit der Umgebungsvariablen verbunden ist | y |
availability | RUNTIME | Wo die Variable verfügbar sein wird. Im Moment wird dies immer RUNTIME sein | y |
interface Metadata {
adapterPackageName : string ;
adapterVersion : string ;
framework : string ;
frameworkVersion ?: string ;
}| Feld | Typ | Beschreibung | Erforderlich? |
|---|---|---|---|
adapterPackageName | string | Name des Adapters (dies sollte der NPM -Paketname sein) | y |
adapterVersion | string | Version des Adapters | y |
framework | string | Name des Rahmens, der unterstützt wird | y |
frameworkVersion | string | Version des Frameworks, der unterstützt wird | N |
Hier ist ein bundle.yaml -Datei, das all dies zusammenstellt:
> 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
Solange Sie das bundle.yaml in diesem Format haben, kann das App -Hosting jedes Framework bereitstellen, das das Rendering der Server -Seite unterstützt.