Divshot is a specialized hosting service for modern apps, in particular apps developped the static way, and I decided to use it for all my current projects that fit this category. Check out their list of features here.
In this first part of a series on exploring the way to take full advantage of this kind of hosting, let's see how to deploy a new site to Divshot's servers, while doing most of the work using the command line, for productivity sake.
To get started, you have to sign up to the platform. If you are already using github, it is even quicker, you can just login with your Github account. By the way, the service is free for hosting an unlimited number of sites for development, which is cool for experimenting. You start paying once you want to deploy to production. See the information about the available plans here.
On your development box, install the Divshot Command-Line Interface (aka the CLI) that would allow you to do
deployments directly from the command line. First, you need to download and install Node.js following
the instructions for your system. After that, install divshot-cli
with npm
, the Node Package Manager, which comes with Node:
$ npm install -g divshot-cli
At any time, to start interacting with Divshot hosting services, if you are not yet, login from the command line:
$ divshot login
To create a new application on DivShot, for hosting it, for example for a Jekyll-based site, go inside the folder
where its code and content are living, and run the init
command.
$ cd examplesite
$ divshot init
You'll have to provide the following important information about the application's name, structure and hosting settings:
name: (examplesite)
root directory: (current) _site
clean urls: (y/n) y
error page: (error.html)
Would you like to create a Divshot.io app from this app?: (y/n) y
...
Creating app ...
Success: examplesite has been created
Success: App initiated
The process will create a divshot.json
file that will reside in the root of the application's project directory.
You're set!
At any time, if needed, you can adjust the content of the divshot.json
file. For our example Jekyll site, the content of the file generated looks like:
{
"name": "examplesite",
"root": "_site",
"clean_urls": true,
"error_page": "url"
}
When ready, push your code to the DivShot hosted application, simply by using the push
command.
$ divshot push
You should be able to visit your application by pointing your browser to http://development.examplesite.divshot.io
.
Alternatively, if you do divshot push staging
, the site is pushed to http://staging.examplesite.divshot.io
.
And to push to production, when you are ready and have opted for a paid plan, use divshot push production
,
and the site will be available on http://examplesite.divshot.io
.