Déploiement
Vonage Cloud Runtime vous permet de créer rapidement une instance en cours d'exécution sur la plateforme en déployant. Le déploiement regroupe votre code source avec un fichier de configuration, ce qui crée un paquetage. Le package est ensuite téléchargé sur la plateforme et devient une instance en cours d'exécution. Lorsque vous utilisez un espace de travail sur Hub de codevous pouvez utiliser le terminal pour déployer votre code une fois que vous avez fini d'apporter des modifications à un projet.
Fichier de configuration
Les fichiers de configuration donnent des informations à la plateforme sur la manière de déboguer et de déployer votre application. Voici un exemple de fichier de configuration :
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
- Le nom du projet est l'espace de noms unique pour votre projet qui peut contenir plusieurs instances.
- Le nom de l'instance est un identifiant unique pour votre instance.
regionest l'endroit où l'instance sera exécutée.entrypointdonne à la plateforme Vonage Cloud Runtime des informations sur la façon de démarrer votre application.build-scriptvous permet de spécifier un script à exécuter pendant que la plateforme construit votre application.
Vous pouvez en savoir plus sur les options qui vous sont offertes en consultant la rubrique guide du fichier de configuration.
Variables d'environnement injectées
Lorsque vous déployez votre projet dans Cloud Runtime (ou que vous utilisez la fonction vcr debug), la plate-forme injectera quelques variables d'environnement pour vous avec le fichier environment de votre fichier de configuration.
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 et port de l'application
Pour que votre application fonctionne correctement sur Cloud Runtime, vous devez vous assurer que vous l'exécutez sur le bon port. Le port diffère selon que l'on utilise l'option Débogueur d'exécution en nuage et lorsqu'il est déployé. Vous pouvez utiliser le VCR_PORT et VCR_HOST qui sont injectées pour vous par Cloud Runtime, pour s'assurer que vous utilisez toujours le bon port et le bon hôte. Voici un exemple utilisant 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}`);
});
Certains serveurs web peuvent exiger que l'hôte soit réglé sur 0.0.0.0. En règle générale, il n'est pas nécessaire de configurer cette fonction manuellement, car le code la gère automatiquement.
Itinéraire du bilan de santé
La plateforme Vonage Cloud Runtime attend un itinéraire, /_/healthLa route doit être disponible sur votre application, ce qui permet de vérifier l'état de santé de votre application déployée. La route ne doit pas être liée à une authentification. Votre application sera redémarrée si cette route ne renvoie pas un statut 200. Si la route est manquante, votre déploiement échouera.
Voici un exemple d'itinéraire utilisant express.js:
app.get('/_/health', async (req, res) => {
res.sendStatus(200);
});
Vous pouvez en profiter pour effectuer vos propres vérifications et demander à la plateforme de redémarrer automatiquement votre application si elle se trouve dans un mauvais état en renvoyant un statut autre que 200 dans les 30 secondes.
Comment déployer
Vous pouvez procéder au déploiement à l'aide de la CLI de Vonage Cloud Runtime. Pour déployer, exécutez :
Si vous obtenez un message d'erreur "credentials not found", exécutez vcr app generate-keys pour régénérer les informations d'identification de votre application Vonage pour Vonage Cloud Runtime.
Cette commande permet d'effectuer les opérations suivantes :
- Configure les rappels de votre Application Vonage comme décrit dans la section
capabilitiesobjet. - Remplit le répertoire actuel.
- Le télécharge vers la Cloud Runtime Platform.
- Exécute votre script de construction s'il est fourni dans votre fichier de configuration.
- Si tout se passe bien, exécutez la commande dans votre
entrypoint.
Pour éviter de télécharger des fichiers volumineux ou non désirés dans le cadre de votre déploiement, utilisez un fichier de type .vcrignore pour les exclure.
Par défaut, la commande deploy recherche un fichier de configuration appelé vcr.yml dans le répertoire courant. Pour utiliser un fichier de configuration différent, vous pouvez exécuter :
Par exemple, pour déployer votre code actuel avec un fichier de configuration appelé production.yml vous courriez :
Déploiement avec une action GitHub
Si vous souhaitez intégrer le déploiement dans votre flux de travail GitHub, vous pouvez ajouter une action GitHub pour déployer pour vous. Les principales étapes de l'action consistent à extraire votre code, à installer le fichier CLI du moteur d'exécution Cloudpuis exécutez la commande de déploiement. Voici un exemple de flux de travail qui suppose l'utilisation d'un serveur script de construction pour gérer les aspects personnalisés de votre projet :
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
Vous devrez remplacer VONAGE_API_KEY et VCR_REGION avec votre clé API et la région dans laquelle vous souhaitez déployer. Ce flux de travail est exécuté manuellement, mais vous pouvez le modifier pour qu'il s'exécute lorsque les PR sont fermés, etc. Vous pouvez en savoir plus sur les Actions GitHub sur la page Actions Documentation.
Dépannage du déploiement
Vous pouvez obtenir une erreur "credentials not found" si la plateforme Vonage Cloud Runtime n'a pas accès aux informations d'identification de votre application Vonage. Vous pouvez générer une nouvelle paire de clés privées à l'aide du CLI :
vcr app generate-keys --app-id <app-id>
Voir votre déploiement
Pour examiner plus en détail votre projet et vos déploiements, vous pouvez utiliser la commande Tableau de bord Vonage Cloud Runtime.

En cliquant sur votre instance déployée, vous aurez accès aux journaux, aux événements et à l'historique du déploiement. Par exemple, l'onglet Historique vous montrera l'historique du déploiement de cette instance :

Si vous déployez plus d'une instance pour votre projet, elles apparaîtront toutes sur le tableau de bord :

Il s'agit d'un projet intitulé vapiqui possède deux fichiers de configuration. L'un des fichiers de configuration contient une instance nommée dev et l'autre a une instance nommée prod. Cela vous permet d'avoir plusieurs instances exécutant le même code mais avec des environnements différents.
Supprimer une instance
Si vous souhaitez supprimer une instance déployée, vous pouvez utiliser la commande instance remove de la CLI de Vonage Cloud Runtime :
vcr instance remove --project-name <project-name> --instance-name <instance-name>
Ainsi, pour supprimer le dev Dans l'exemple de la capture d'écran ci-dessus, vous devez exécuter :
vcr instance remove --project-name vapi --instance-name dev
Vous pouvez également supprimer une instance en utilisant l'identifiant de l'instance :
vcr instance remove --id <instance-id>
AVERTISSEMENT : Cette action est irréversible ! Les états et les planificateurs attachés seront également supprimés de manière permanente.
Liste d'autorisation des adresses IP
Si vous souhaitez restreindre l'accès à vos systèmes, les adresses IP de Vonage Cloud Runtime pour chaque région sont :
UE Ouest - aws.euw1
- 52.215.68.46
- 46.137.9.43
- 54.72.25.154
Ouest des États-Unis - aws.use1
- 54.87.47.119
- 3.224.186.73
- 35.153.45.51
APAC Sud-Est - aws.apse1
- 13.251.207.33
- 52.76.50.31
- 54.169.132.8