Now that the pages are put together, let's try to publish to a public server.
You can set up multiple deployment targets on a single site, for example you can have a separate deployment target for each environment:
In this example, we'll publish to Github Pages.
Let's go to the Site Config and set up a Deployment Target.
A variety of Deployment Target Types are supported:
You can also publish to a local folder on the server, or leave it blank to download published files as a zip.
The CMS Deployment Host is an interesting feature used in integrating web apps. The CMS Host enables the CMS server to remotely publish to a local dev machine, by running the CMS host program to make it an endpoint.
Let's go ahead and configure the deployment target for Github:
Optionally, set the deployment target's Published Site URL property, so that the site can be easily launched from the publish log.
In order to publish the site, we'll click "Publish" on the top menu, and then "Add Deployment"
We can either publish a Release, or the current checked-out revision.
Since we haven't merged our revision into the master branch yet, let's do that:
Next, click on the "Publish" tab again, and click "Add Deployment". Since no revision is currently checked out, it will go directly to publishing a Release:
When publish is complete, click the "View Deployed Site" button on the bottom of the log to view the site.
After committing the files to Github, the Github Pages app can take a minute or two to process the pages and make them available on the public URL.
The jsHarmony CMS has a few additional features in the Publish Log:
On some sites, like Github Pages, you might be publishing to a non-root folder. For example, in this tutorial, we published to the "demo-cms" subfolder, because Github Pages creates a subfolder for each repo.
A few items are important to keep in mind when publishing to a subfolder:
If you follow these steps, your site should publish well for both the root website and subfolders.