Bereitstellung von
Vonage Cloud Runtime ermöglicht es Ihnen, schnell eine laufende Instanz auf der Plattform zu erstellen, indem Sie sie bereitstellen. Beim Deployment wird Ihr Quellcode mit einer Konfigurationsdatei gebündelt, wodurch ein Paket entsteht. Das Paket wird dann auf die Plattform hochgeladen und wird zu einer laufenden Instanz. Wenn Sie einen Arbeitsbereich auf Code-Hubkönnen Sie das Terminal verwenden, um Ihren Code bereitzustellen, sobald Sie die Änderungen an einem Projekt abgeschlossen haben.
Konfigurationsdatei
Die Konfigurationsdateien geben der Plattform Informationen darüber, wie Ihre Anwendung zu debuggen und einzusetzen ist. Hier ein Beispiel für eine Konfigurationsdatei:
project:
name: app
instance:
name: dev
runtime: nodejs22
region: aws.use1
application-id: 773c2b45-c20a-4d6b-8afe-24ce29ba6f92
entrypoint: [node, index.js]
build-script: "./build.sh"
capabilities:
- voice
- messages-v1
environment:
- name: VONAGE_NUMBER
value: "44700000000"
- name: INTEGRATION_API_KEY
secret: MY_SECRET_API_KEY
secrets:
- MY_SECRET_API_KEY
debug:
name: debug
application-id: 884c2b45-c20a-4d6b-8afe-24ce29ba6f93
environment:
- name: DEBUG_VONAGE_NUMBER
value: "4471111111"
entrypoint: [nodemon, --inspect, index.js]
preserve-data: false
- Der Projektname ist der eindeutige Namensraum für Ihr Projekt, das viele Instanzen enthalten kann.
- Der Instanzname ist ein eindeutiger Bezeichner für Ihre Instanz.
regionist der Ort, an dem die Instanz ausgeführt wird.entrypointgibt der Vonage Cloud Runtime-Plattform Informationen darüber, wie Sie Ihre Anwendung starten können.build-scriptermöglicht es Ihnen, ein Skript anzugeben, das ausgeführt wird, während die Plattform Ihre Anwendung erstellt.
Weitere Informationen über die Möglichkeiten, die Ihnen zur Verfügung stehen, finden Sie in der Konfigurationsdatei-Leitfaden.
Injizierte Umgebungsvariablen
Wenn Sie Ihr Projekt auf Cloud Runtime bereitstellen (oder mit vcr debug), wird die Plattform einige Umgebungsvariablen für Sie zusammen mit dem environment Objekt aus Ihrer Konfigurationsdatei.
VCR_PORT
VCR_REGION
VCR_DEBUG
VCR_CODE_DIR
VCR_REGION_ID
VCR_PRIVATE_KEY
VCR_API_REGION_ID
VCR_API_ACCOUNT_ID
VCR_API_ACCOUNT_SECRET
VCR_API_APPLICATION_ID
VCR_INSTANCE_PUBLIC_URL
VCR_INSTANCE_SERVICE_NAME
Adresse und Anschluss der Applikation
Damit Ihre Anwendung korrekt auf Cloud Runtime läuft, müssen Sie sicherstellen, dass Sie Ihre Anwendung auf dem richtigen Port ausführen. Der Port unterscheidet sich bei Verwendung des Cloud-Laufzeit-Debugger und wenn sie eingesetzt werden. Sie können die VCR_PORT und VCR_HOST Umgebungsvariablen, die von Cloud Runtime für Sie injiziert werden, um sicherzustellen, dass Sie immer den richtigen Port und Host verwenden. Hier ist ein Beispiel mit express.js:
const port = process.env.VCR_PORT;
const host = process.env.VCR_HOST ?? “0.0.0.0”
app.listen(port, host, () => {
console.log(`App listening on port ${port}`);
});
Bei einigen Webservern muss der Host möglicherweise auf 0.0.0.0. Normalerweise müssen Sie dies nicht manuell konfigurieren, da der Code es automatisch verwaltet.
Gesundheitscheck Route
Die Vonage Cloud Runtime Plattform erwartet eine Route, /_/healthdie in Ihrer Anwendung verfügbar sein muss, um den Zustand Ihrer bereitgestellten Anwendung zu überprüfen. Die Route sollte nicht hinter einer Authentifizierung stehen. Ihre Anwendung wird neu gestartet, wenn diese Route nicht den Status 200 zurückgibt. Wenn die Route nicht vorhanden ist, schlägt die Bereitstellung fehl.
Hier ist ein Beispiel für eine Route mit express.js:
app.get('/_/health', async (req, res) => {
res.sendStatus(200);
});
Sie können dies als Gelegenheit nutzen, um einige eigene Prüfungen durchzuführen und die Plattform Ihre Anwendung automatisch neu starten zu lassen, wenn sie in einen schlechten Zustand gerät, indem sie innerhalb von 30 Sekunden einen Status ungleich 200 zurückgibt.
Wie wird eingesetzt?
Sie können die Bereitstellung mit der Vonage Cloud Runtime CLI durchführen. Zum Bereitstellen führen Sie aus:
Wenn Sie die Fehlermeldung "credentials not found" erhalten, führen Sie vcr app generate-keys um die Anmeldedaten Ihrer Vonage Anwendung für Vonage Cloud Runtime neu zu generieren.
Dieser Befehl bewirkt Folgendes:
- Konfiguriert die Rückrufe Ihrer Vonage Applications wie in den Konfigurationsdateien beschrieben.
capabilitiesObjekt. - Packt das aktuelle Verzeichnis aus.
- Lädt es auf die Cloud Runtime Platform hoch.
- Führt Ihr Build-Skript aus, wenn Sie es in Ihrer Konfigurationsdatei angegeben haben.
- Wenn alles erfolgreich war, führen Sie den Befehl in Ihrem
entrypoint.
Um das Hochladen großer oder unerwünschter Dateien als Teil Ihrer Bereitstellung zu vermeiden, verwenden Sie eine .vcrignore Datei, um sie auszuschließen.
Standardmäßig sucht der Befehl deploy nach einer Konfigurationsdatei namens vcr.yml im aktuellen Verzeichnis. Um eine andere Konfigurationsdatei zu verwenden, können Sie diese ausführen:
Wenn Sie zum Beispiel Ihren aktuellen Code mit einer Konfigurationsdatei namens production.yml würden Sie laufen:
Bereitstellen mit einer GitHub-Aktion
Wenn Sie das Deployment in Ihren GitHub-Workflow integrieren möchten, können Sie eine GitHub-Action hinzufügen, die für Sie deployt. Die wichtigsten Schritte der Aktion sind das Auschecken Ihres Codes, die Installation der Cloud Runtime CLIund führen Sie dann den Befehl deploy aus. Hier ist ein Beispiel-Workflow, der davon ausgeht, dass Sie eine Skript erstellen um die benutzerdefinierten Aspekte Ihres Projekts zu bearbeiten:
name: Deploy to Cloud Runtime
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
env:
VONAGE_API_KEY: ''
VCR_REGION: 'euw1'
steps:
- name: Checkout code
uses: actions/checkout@v3.0.2
- name: Install Cloud Runtime CLI
uses: Vonage/cloud-runtime-cli@main
- name: Deploy
run: |
vcr deploy --api-key ${{env.VONAGE_API_KEY}} --api-secret ${{ secrets.VONAGE_API_SECRET }} --region aws.${{env.VCR_REGION}} --graphql-endpoint https://graphql.${{env.VCR_REGION}}.runtime.vonage.cloud/v1/graphql
Sie müssen Folgendes ersetzen VONAGE_API_KEY und VCR_REGION mit Ihrem API-Schlüssel und der Region, für die Sie die Bereitstellung wünschen. Dieser Workflow wird manuell ausgeführt, aber Sie können ihn so bearbeiten, dass er ausgeführt wird, wenn PRs geschlossen werden usw. Weitere Informationen über GitHub-Aktionen finden Sie auf der Aktionen Dokumentation.
Fehlerbehebung bei der Bereitstellung
Sie erhalten möglicherweise die Fehlermeldung "credentials not found", wenn die Vonage Cloud Runtime Plattform keinen Zugriff auf die Anmeldedaten Ihrer Vonage Anwendung hat. Sie können ein neues privates Schlüsselpaar mithilfe der CLI generieren:
vcr app generate-keys --app-id <app-id>
Einsatz anzeigen
Um einen genaueren Blick auf Ihr Projekt und Ihre Einsätze zu werfen, können Sie die Vonage Cloud Runtime Dashboard.

Wenn Sie auf Ihre bereitgestellte Instanz klicken, erhalten Sie Zugriff auf Protokolle, Ereignisse und den Bereitstellungsverlauf. Auf der Registerkarte "Historie" sehen Sie zum Beispiel die Bereitstellungshistorie für diese Instanz:

Wenn Sie mehr als eine Instanz für Ihr Projekt bereitstellen, werden sie alle auf dem Dashboard angezeigt:

Dies ist ein Projekt mit dem Namen vapi, die zwei Konfigurationsdateien hat. Eine Konfigurationsdatei hat eine Instanz namens dev und die andere hat eine Instanz namens prod. Auf diese Weise können Sie mehrere Instanzen haben, die denselben Code ausführen, aber in unterschiedlichen Umgebungen.
Eine Instanz entfernen
Wenn Sie eine bereitgestellte Instanz entfernen möchten, können Sie den Befehl instance remove der Vonage Cloud Runtime CLI verwenden:
vcr instance remove --project-name <project-name> --instance-name <instance-name>
Um also die dev im obigen Screenshot würden Sie ausführen:
vcr instance remove --project-name vapi --instance-name dev
Sie können eine Instanz auch mit Hilfe der Instanz-ID entfernen:
vcr instance remove --id <instance-id>
WARNUNG: Dieser Vorgang ist nicht umkehrbar! Angehängte Zustände und Planer werden ebenfalls dauerhaft gelöscht.
IP-Adressen-Zulassungsliste
Wenn Sie den Zugriff auf Ihre Systeme einschränken möchten, sind die IP-Adressen der Vonage Cloud Runtime für jede Region folgende:
EU West - aws.euw1
- 52.215.68.46
- 46.137.9.43
- 54.72.25.154
US West - aws.use1
- 54.87.47.119
- 3.224.186.73
- 35.153.45.51
APAC Südost - aws.apse1
- 13.251.207.33
- 52.76.50.31
- 54.169.132.8