For personal projects, seems that gh-pages is often the default option. If not gh-pages, what else are you using? Also, if you're an agency, are you typically hosting clients sites too or more commonly handing off the assets for the client to host themselves? If you host for clients, how are you currently doing that and what works well / you wish was better?
gh-pages + static/jekyll site depending on how frequently the site is updated. gh-pages is so simple that it makes no sense to use anything else unless the site requires a database.
I used to do client work and have been on both sides of the hosting fence, and there is little to no return on investment to hosting a client's site.
Custom domains with https not supported :'-(
Digital Ocean for hosting, Git for deployment.
The actual site could be anything — Wordpress, Jekyll, static HTML, you name it. (Well, not Drupal. And not Joomla.)
Similar to the setup I use!
You had any luck compiling SCSS on the server (on deploy) by any chance?
I do all my processing locally, using Gulp or Grunt. Haven't even tried deploy-time processing.
Ahh damn, that's currently what I do too though I'm getting sick of conflicting css files from the build process…
You can add a .gitattributes file, to mark your CSS files as binary and avoid conflicts, with this line:
*.css -text -diff
You can add a hook to your server side deployment to run whatever command you want (e.g.
gulp build:dist) when something is pushed.
That sounds exactly what I'm after, thanks!
p.s. You know any good resources for getting this set up correctly? e.g. error handling etc.
What you're after is git hooks, specifically the
post-recievehook. look in your
.gitdirectory and there is a folder called
hooks. Inside there are files that are basically shell scripts.
I would write a shell script to trigger your gulp command, test it, make sure it works, and then hook it up to your
post-receivegit hook like so...
Now whenever your repo on your server recieves changes, that shell script will run and do whatever needs to be done.
Here is a more thorough guide: https://www.digitalocean.com/community/tutorials/how-to-use-git-hooks-to-automate-development-and-deployment-tasks
I use Jekyll, DigitalOcean, and Capistrano. You can see my process here: https://dsgn.io/thoughts/post/jekyll-deployment-with-digitalocean
Until recently, Divshot... But now using Firebase Hosting. Also check out surge.sh - awesome devops tool for deploying static sites.
Cheers Daniel for the reply. I'm familiar with those services - all good options. I should have added the disclaimer that I'm one of the founders of Aerobatic, a static hosting service. Apologies for any perceived opacity - unintended.
Netlify is really good for static content. Easily integrates into your workflow, and can build your site (Jekyll, metalsmith, etc) automatically.
Netlify is incredible! I love their service.
Heroku + Github
Usually some JS-based site on Heroku or Gthub Pages. More recently, been using Hugo and AWS S3.
For static sites (building with Metalsmith atm), Surge or gh-pages for hosting. Otherwise, A Small Orange or Dreamhost depending on the size of the project/client.
I've been hosting with A Small Orange for about 2 months now. It's super cheap, but ended up running out of bandwidth the first month when I posted a site I made on DN hah. I get 50gb for $5/month. Before A Small Orange I used hostgator. And I use Coda2 to write, manage and deploy. It has all sorts of plugins and converts SCSS to CSS.
I do everything in Rails so it's Heroku for me. Easiest option.
DigitalOcean (FreeBSD, simple ipv6 support) + git & nginx-latest (http2) for live, dynamic projects
GH Pages for prototyping and static sites.
I use DNSimple and am baking in AMP-HTML support where appropriate.
Ghost + PM2 + DigitalOcean
How is Ghost going? I remember being so excited about the platform but waiting for it killed my excitement. I've ended up using svbtle which has been awesome for me.
Same question, is Ghost any good?
GitHub Pages + Parse.js for dynamic web pages / apps See my tutorial here: http://code.tutsplus.com/series/building-your-blog-with-parsejs--cms-651
Digital Ocean + Docker + GitHub + https://www.deployhq.com == good stuff!
I use Dokku for static and small sites, implemented at digitalocean - they provide dokku image when creating droplets.
- Git + DeployBot + Heroku (for Node/Express)
- ghpages or s3 (for static)
Digital Ocean boxes provisioned and deployed with Forge
Usually with node.
Thanks everyone for the replies. Quite illuminating to see the breadth of approaches. Was expecting to see a fairly homogenous set of options, but that doesn't appear to be the case, although Digital Ocean looks like the predominant hosting option, with shoutouts for gh-pages, Surge, Divshot / Firebase, Netlify, Heroku, and a number of others.
I wonder for those rolling their own with DO, do you also go to the extent of enabling CDN, SSL, etc. (features that are usually part of a dedicated static hosting service, like Aerobatic, for example)?
I deploy my php CMS websites with Capistrano to plain shared hosting with SSH access. Capistrano basically git clones the project to a new release folder and pulls the composer vendors and executes some other scripts like symlinking uploads folder. The advantage is that you can easily do a "cap rollback" to an earlier version.
I use fantastico deluxe to install a cms on a server from 1and1 then upload changes via ftp .
Personally: I host my site on DigitalOcean. My site is built on Jekyll. Although I do development with Gulp, I use Grunt to build my production-ready site locally pre-deployment (need my tasks to run linearlly b/c my production build is a bit more complex than usual), and use Capistrano to deploy to my DigitalOcean server. Here’s my Gruntfile.js for reference: https://github.com/jonsuh/jonsuh.com/blob/github/Gruntfile.js#L470
Clients: We host our sites on Amazon Web Services—EC2 for servers, RDS for databases, Route53 for DNS, S3 for storage. We host our repos on Beanstalk and use that for deployment. Beanstalk allows you to have multiple deployment environments and run post-deployment shell commands on the deployment server. Since just about all of our sites rely on Grunt/Gulp, we run production-specific post-deployment build commands (
gulp production). You just need to make sure you have the dependencies installed on the server that you would on your machine for development (i.e. Gulp, Grunt, Node, etc.).
Has anyone found a replacement for Cactus now that it no longer seems to be maintained?
shameless plug (i am co-founder): fortrabbit is of course the best place to deploy and host PHP driven sites.
neocities is nice for static sites. Their free accounts have no ads or anything like that, and they allow to use your own domain or a free subdomain.
Heroku + DeployBot + BitBucket (for 2x django apps I work on, one startup one enterprise) - will likely switch to DeployBot to CodeShip for automated testing feature
Bitbucket + Firebase (for a react app I'm working on)
Custom gulp scripts for static site generation, media crushing, preprocessing etc. S3 for deployment.
Some kind of hosting (I have BlueHost and MediaTemple) with deployhq + Git.
Git + Codeship with hosting on DO. Smooth like butter.