A couple months ago I finally picked up Git (for the third time) and became pretty obsessed with using GitHub and Terminal for all my coding.
I plan on pushing all my past projects to my GitHub account soon for posterity!
One thing I became interested in was looking for ways to update this website via Terminal and Git instead of FTP’ing with FileZilla, aka Git deployment or continuous deployment. All I wanted to do was have my website’s source code version-controlled on GitHub and then have my commits pushed to ThisIsJessie.com every time I pushed to my GitHub repository. I read up on creating repositories on A Small Orange (my excellent web host) and how to write Git hooks. It turns out there are a number of folks who have written guides on deploying websites with Git hooks, including this great post by Ryan Florence.
But in the end, understanding all this was pretty difficult for me. I’d struggled with writing cron scripts at HackSC a month ago and debugging ended up being a nightmare. I knew I didn’t want to blindly copy and paste a script into a file without knowing what each line did, so I needed much more time to study up on Git hooks before I’d get anywhere.
That’s when I stumbled upon FTPloy. If you’ve come across Beanstalk, dploy, Deploy and its ilk, then you know what FTPloy is about. Basically, FTPloy automates the deployment process so that you don’t have to write a line of code yourself.
I’ve been using FTPloy for a few weeks now, and it’s simple as hell — from signup to setup to deployment. Simplicity is one of the biggest reasons I went with FTPloy.
After creating an FTPloy account, you set up a new Project via the nav bar. Make sure you’ve already created a GitHub/Bitbucket repo for your website or else FTPloy won’t be able to find it. Then fill out some details about your repo and server, and you’re good to go.
And that’s it! Now every time I push to my
jw repo, FTPloy automatically pushes to my A Small Orange server as well. FTPloy deploys almost immediately after I push to
jw. For someone who’s constantly tweaking copy and layout on this site, FTPloy makes updating as simple as a
git push — no more dragging and dropping in FileZilla for this girl.
When it comes to pricing, FTPloy has a pretty palatable set of plans — all with unlimited deployment at marginally better price points than competitors. I’m currently on the Free plan, which allows only one project, but there are also Individual and Pro plans as well. Individual plans allow 10 projects at £6/month (~10 USD/month) or £60/year, while Pro plans give you unlimited projects for £12/month (~20 USD/mo.) or £120/year.
FTPloy integrates with HipChat and Growl for group work, though I can’t speak to these features because I haven’t had use for them yet. For those with fancier inclinations, you can customize pre- and post-commit hooks on FTPloy as well.
Compared to similar services, FTPloy is definitely on the leaner side in terms of features. Deploy (Beanstalk’s deployment-only offering) and dploy push to more servers/services and support Subversion and Mercurial (Deploy) repos alongside Git. FTPloy only serves GitHub and Bitbucket for now, though support for GitLab, Codebase and Amazon S3 are on the way. (No sign of Mercurial or Subversion support though.)
Like I said earlier, FTPloy is definitely the leaner service among its competitors, which can be both good (simplicity) and bad (fewer features). I went with it because it was easy to understand, easy to set up, and fit my singular needs very well — and it is this very simplicity that makes FTPloy such a winner in my eyes. FTPloy is also the youngest among its competitors, which means there’s much more we have yet to see from it. And from the looks of its roadmap, FTPloy is set to compete well with its older siblings in the field.1
What do you think of this blog’s first review? (Shout out to Gabe for proofreading.) And what’s your current/favorite deployment routine? Share in the comments!
1. A small concern is that FTPloy might suddenly close its doors without any explanation, which is what seems to have happened last year with Deploy Button, a similar service that seems to have been rather popular.