Deploy : AWS, Github pages, Heroku...?

What is the most practical way to deploy my middleman app.

I am aware of doing it via AWS, github pages, a normal host like “namecheap” or heroku…

I wan to know which is simpler and more practical.

The ones that sound more sexy to me are github pages or a normal host provider.

But i dont know the pros/cons of the options listed above…

Could you please share your experiences or preferences when it comes to deploying ?

Thanks :smile:

I am using Codeship (https://codeship.com/) to automatically build and push to github pages after I committed a feature/change. Continuous deployment is fun!

Hi twisi,

that could be cool, and i am reading the free version says 100 build per month…

does that mean i can only do 100 git pushes, or like deploys of my site ?

or what do they mean ?

thanks!

You are right. Only 100 git pushes :confused: Does not mean 100 commits, of course.
But for my personal website I need only 2 or less pushes a month. So this works for me.

But:
Public projects on GitHub or Bitbucket do not count against the project or build limit when set up on Codeship.

AWS: little more setup, but you can get pretty good performance by hosting the files on S3 and putting CloudFront in-front to replicate world-wide for speed & ultimate uptime. Doing this costs very little as you pay for storage and bandwidth at a very affordable rate (unless you’re hosting large media files such as screencasts / podcasts)

https://github.com/fredjean/middleman-s3_sync and https://github.com/andrusha/middleman-cloudfront are your friends here.

Github Pages: fairly straight-forward deployment with the https://github.com/neo/middleman-gh-pages gem.

A shared host: probably as much setup work as AWS, but you’re pretty much guaranteed to have less uptime and worse performance. That said, there would be nothing to stop you from fronting it with CloudFront or another CDN to mitigate this. The only time I’d recommend is if you’re hosting very large files and want a fixed rate for bandwidth, in which case I’d opt for a VPS from the likes of Linode.

Pairing any of these with a CI service like Codeship is an excellent setup as it takes the load off your machine for building the full site.

Personally, my recommendation is S3, CloudFront and Codeship. I’m looking to move to SauceLabs as my CI so I can run automated cross-browser JavaScript testing during the build process.

Sweet, thanks for the answers will research more on how to do it on aws and will decide then. thanks!