Hello everybody! Today we'll be going over the basics of deploying your application to Divshot. Divshot is a PaaS for deploying static websites.

Divshot's website explains the service as a blazing fast CDN, simple CLI deployment, hassle-free test environments and much more. Of course as with anything else your milage may vary. However with the limited time I've worked with Divshot it's worked great. No major issues.

Pricing for this service is similar to Firebase. The lowest tier is free and it's called Hangar. It gives you 1GB bandwith, 100MB storage and a single region. The next step up Squadron and it is $20 dollars a month and gives you 3 Apps and 10GB of space and unlimited storage with a global CDN. The Fleet tier is $50 a month and offers 8 apps and 100GB bandwith. The last tier $100 a month and offers up to 20 apps. Needless to say the free hangar tier will work fine for this tutorial.

You can sign up with your Github id or with a normal email address.

Setup

As with Heroku you have to install Divshot's cli. This is done below.

$ npm install -g divshot-cli

Next you need to log in to the CLI

$ divshot login

Now we are ready to send our Ember application to Divshot.

Deploy

We'll assume as always you already have an Ember application ready to be deployed. The first thing you'll need to do is install the ember-cli-divshot addon. This will make things a little easier on us.

$ npm install --save-dev ember-cli-divshot

After the addon is installed we'll need to setup divshot with this command.

$ ember generate divshot

Then we can simply just push it!

$ ember divshot push --environment=development

By default the --environment=development option will be set for the Ember CLI build step. On the other hand you can change it to whatever you like.

The default Divshot environment is development however you can change it to staging.

$ ember divshot push staging

Or you can even push it to production

$ ember divshot push production

That should be it! Your site now should be up.

Divshot CLI options.

Keep in mind the divshot cli it self has several options that you might need to use. Check out some of the ones below.

  • account - display basic account details
  • account:redeem - redeem a voucher and credit it to your account
  • apps - list your apps
  • auth:token - print out your access token
  • cert - upload an SSL certificate
  • changelog - view the cli changelog
  • config - list, set, or remove keys and values from your app
  • config:add - add a value to the config file
  • config:remove - remove a value from the config file
  • create - create a new app
  • destroy - delete an app
  • domains - list your domains
  • domains:add - add a custom domain to your app
  • domains:remove - remove a custom domain from your app
  • emails - list emails associated with your app
  • emails:add - add an email to your app
  • emails:remove - remove an email from your app
  • emails:resend - resend the confirmation email
  • env - list environment variables for your app
  • env:add - add environment variables to your app
  • env:remove - remove environment variables from your app
  • env:pull - copy environment data to your local environment
  • files - list the current files associated with the given environment
  • help - get help with common commands
  • hooks - list webhooks
  • hooks:add - add a webhook
  • hooks:remove - remove a webhook
  • hooks:pause - pause a webhook
  • hooks:resume - resume a webhook
  • init - step by step guide to initiate an app in the current directory
  • login - login to Divshot
  • logout - logout from Divshot
  • open - open the current app in your default browser
  • performance - show if current app has performance status
  • performance:on - give the current app performance status
  • performance:off - remove performance status from the current app
  • promote - promote one environment to another
  • protect - add http basic auth to any environment
  • pull - download the current files for a given environment into a directory
  • purge - purge the cache for your app
  • push - deploy your app to the specified environment
  • rename - change the name of an app
  • rollback - rollback an environment to a previous release
  • server - start server for local dev
  • stats - show stats info for your app
  • status - show release info for each environment
  • unprotect - remove basic auth from an environment on your app

Next Up

We are nearing the end of our tutorial series! We've already looked at Heroku and Firebase. Next we'll look into the ember-cli-deploy addon.

Questions? Leave a comment below!

Image Credit Divshot