Versioning Bots

In this tutorial you will learn how to manage deployments of bots between environments in the ServisBOT Platform.

Organizations

ServisBOT provides all clients with a staging and production organization.

It is recommended to lock down access to the production environment and only allow access to the deployment and debug teams. Changes can be done and tested in staging, and then deployed using our tooling.

General Versioning process

  • Start by developing and building your bot in your staging organizational
  • At regular intervals, download a version of your bot and check it into a code versioning tool like Github.
  • When ready to go live, use our sb-cli command line tool to import/update the move over production.
  • Validate functionality on production.

Development can begin following one of our getting started tutorials.

Secrets

Secrets are not exported or migrated between orgs, but since they are referenced by Alias, all that is needed is to make sure that secrets exist in both orgs with the same alias.

Inside the BaaS that uses secrets, there will be a Credentials field.

It is assumed that your staging and product environments will require entirely different secrets, all that needs to match is the Alias.

Downloading the Bot

  1. Create a folder for your bot project
  2. Initiate some sort of version control for that folder
  3. Log into your staging organization using the ServisBOT CLI and download a definition.

    sb-cli bot download BOTNAME

This will include all workers, baas, and the default endpoint related to the bot.

Uploading Your BOT

  1. Log into your production organization using the Cli.
  2. Re-upload the bot Definitions

    sb-cli bot upload .

the . just denotes current directory. 3. Import your endpoint after properly configuring it.

sb-cli endpoint create endpoint.alias.json

Make after the first time you will just need to update the endpoint. Adjust the command to sb-cli endpoint update endpoint.alias.json

Test your bot!

You should be all set to test your bot in the platform now.