Learn more about the deployment workflow and what options you have.
- Deploying Platform Files
- Deploying Source Code
Deployment of a Jovo project consists of deploying the logic as well as the platform files.
To make deploying easier you can use the Jovo CLI. The CLI currently supports the deployment to AWS Lambda, Alexa Developer Console, Dialogflow.
Note: Platform files are currently supported for Alexa Skills and Google Actions.
Platform files are split between the language model and general configuration files (e.g. app name, description, etc.) of your app.
Before being able to deploy the platform files, you first need to build them. In the build process, the following files are used:
project.js: Project Configuration, e.g. endpoint, project ID, etc.
modelsfolder: Jovo Language Model files
platformsfolder: Platform specific files (created after first build and reused in consecutive builds)
Note: It's generally recommended to not commit the
platformsfolder. It contains client-specific data like the
skillIdof Alexa Skills which can cause an error if someone tries to deploy the platforms folder to an account that doesn't have a Skill with the same ID.
The platform files are automatically built using the Jovo CLI:
Check out the
jovo build documentation page for a detailed guide on the command's options and workflows.
To be able to deploy your Alexa Skill, you have to set up the ASK CLI first.
With the recent update to ASK CLI v2, Amazon made some changes to the Alexa Skill project structure. Until the next update of the Jovo CLI, we recommmend to install ASK CLI v1.7.
For more information on how to set up the ASK CLI, see the official ASK CLI reference from Amazon.
You can then deploy your Alexa Skill project with the Jovo CLI:
Deploying your Google Action is not as easy. First, you can't deploy your Google Action itself. You can only deploy the language model to Dialogflow and that takes a couple more steps the first time you do it. We've created a step by step tutorial for that purpose. You can find it here.
After going through the setup process,
jovo deploy will upload your language model to Dialogflow.
For testing and running your app in production, you need to deploy the code to various hosting providers Jovo offers integrations for.
The most popular one is AWS Lambda since it works out of the box with Alexa Skills. Google Actions need a little bit more work because you have to set up an API Gateway and use that as the endpoint. You can find a detailed guide about it here.
Besides event-driven solutions like AWS Lambda, Google Cloud Functions, and Microsoft Azure Functions, Jovo also offers the option to deploy the ExpressJS webhook to a server or to use the NodeJS HTTP package to deploy to platforms like Google Cloud's App Engine.
You can find the complete guide on hosting and how to get started with each platform [here](../configuration/hosting/README.md './hosting)
To create a ready-to-deploy
bundle.zip file use either one of the following commands:
This will copy the
src files into a
bundle folder, run a production-only npm install, and then zip it.
If you have a Lambda endpoint defined in your
project.js file, and your ask profile has an AWS IAM user set up, the
jovo deploy command will not only deploy platform projects but also bundle and upload your source code to AWS Lambda: