STOP USING FTP! – How to Deploy with Flightplan over SSH

Torturing People pathetic support – #hostgator support is pathetic ,they don’t even have staff to handle any kind of support ,Keep you hold for many minutes with No answer ,too big disaster …I have hosted many servers with them but now cancelling them all as they have stupid team without brain . They spent too much on advertisement too less on support .Servers are not secured as too many time given me downtime with nobody picking up call in support center. Eric Siebert, Denver, CO, Http:

If you deploy websites with FTP STOP! There are much better ways to deploy a website, much more stable, reliable ways, faster ways. In this tutorial, I’ll show you how to deploy a website with one command with flightplan in just one quick lesson.

Here’s the Gist from this video:

drop25perc (25% off)
drop10bucks ($10 off)

What is Node.js?:
What is GitHub?:
SSH Tutorial:

* I recommend Hostgator so often that I became an affiliate…if you don’t like that idea, feel free to use hostgator without the coupons or use any other host you like…as long as they allow SSH!

Learning Web Development? Watch the FREE COURSE:
“Web Development for Absolute Beginners”!


  • Jason Lough
    Posted at 19:51h, 22 April

    So, in a nutshell…

    Flightplan looks for changes in local git repo, then uploads only those files with changes?

    Is that right?

    Why didnt you need to commit before changing? Im really confused about what rsyncs role is here.

  • manwize-of-Kemet
    Posted at 17:03h, 21 May

    You're right ! LeanCode REALLYYYY rocks ! lol

  • G L
    Posted at 18:42h, 27 May

    would set up be different if I've created a webapp using Yeoman?

  • Christian Josephs
    Posted at 16:43h, 03 June

    Hi Thanks for the Tutorial.

    I installed Node.js  and Git should also be installed, but 

    I get the error:

    sh: node: command not found
    npm ERR! Darwin 14.3.0
    npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "flightplan"
    npm ERR! node v0.12.4
    npm ERR! npm  v2.10.1
    npm ERR! file sh
    npm ERR! code ELIFECYCLE
    npm ERR! errno ENOENT
    npm ERR! syscall spawn

    npm ERR! fibers@1.0.5 install: `node ./build.js`
    npm ERR! spawn ENOENT
    npm ERR! 
    npm ERR! Failed at the fibers@1.0.5 install script 'node ./build.js'.
    npm ERR! This is most likely a problem with the fibers package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node ./build.js
    npm ERR! You can get their info via:
    npm ERR!     npm owner ls fibers
    npm ERR! There is likely additional logging output above.

    npm ERR! Please include the following file with any support request:
    npm ERR!     /Users/Chris/npm-debug.log

    Thanks for your help.

  • Tristan Marroquin
    Posted at 20:19h, 13 June

    What if i'm installing a whole new site???

  • Jake Wilson
    Posted at 20:57h, 15 July

    FYI you keep saying "GitHub Repository". They are simply adding their files to a local git repository. It has nothing to do with GitHub and storing your files on GitHub is not a requirement of Flightplan.

  • A Shen
    Posted at 04:26h, 27 July

    In the ssh tutorial, you mentioned Capistrano for better deployment option.  Would you say that Flightplan is a better option now than Capistano.  I'm looking for a better option to deploy than ftp and all these options is getting a little confusing. I mean this for JS centric apps.

  • Eric Noguchi
    Posted at 01:01h, 28 July

    Is there a way to automate this with grunt for e.g.?
    What about untracked files like *.min.js?

  • Oculus Hut
    Posted at 17:30h, 27 September

    Tip for anybody developing on Windows -> Don't use flightplan unless you have lots of time to spare or just want a play. Right now (Sept 2015) Flightplan still depends on lots of stuff that you will probably not have setup or it won't be setup correctly (e.g. node-gyp which needs python and other Windows dev components and then something to run ssh – not all setups will work out of the box – and a Windows version of rSync – again, not all versions work) – only for the brave! Btw – the other tutorials have been fantastic. This one probably needs a health warning for Windows users.

  • Lowinator
    Posted at 10:32h, 10 March

    Just finished watching your Web Dev playlist, learned so much from this series.
    Here's a big THANK YOU!

  • Tuan Anh Ha
    Posted at 13:11h, 12 April

    Thank you very much! please make more videos for us

  • David Ortiz
    Posted at 03:24h, 24 April

    So good.

  • Brendan Lawton
    Posted at 11:24h, 28 April

    How would this work in terms of Git workflow in a local dev environment and a remote staging environment? Does flightplan compare the current files to the previous commit? If so, do you have a to keep a separate staging branch in addition to your master and dev branches?

  • Sanket Sonavane
    Posted at 14:20h, 25 May

    wow this is awesome i was not aware of flightplan

  • Shueb Islam
    Posted at 21:38h, 10 July

    can i hack youtube now

  • Flechaxp
    Posted at 11:57h, 12 July

    Don't even try this shit if you're using windows. It's a fucking nightmare, hurdle after hurdle you'll have to overcome. Not worth it.

  • John Karns
    Posted at 03:02h, 02 September

    Do I need to change the destination path like below? (for example public_html/)?
    local.transfer(filesToCopy, '~/www/');
    local.transfer(filesToCopy, 'public_html/');

  • GamingWillis
    Posted at 12:27h, 08 October

    really amazing playlist, just watched them all!

  • Dan Max
    Posted at 22:59h, 11 November

    Sweet and concise video! Thanks a lot! I had one question which hopefully you can answer: When working with multiple clients, uploading multiple websites and then receiving multiple sets of data to keep track of, I imagine it could get quite messy and confusing. Could you possibly comment on what your workflow is, whether it be freelance or company based? How are yearly /monthly fees paid etc? Are you the only person who holds each websites data for your clients? Keep up the good work! I'll definitely recommend your site! Cheers. Dan.

  • Rogelio Schevenin Jr.
    Posted at 03:48h, 02 December

    SOMEONE PLEASE HELP. When you first open up your terminal, what directory should I be in? The local files, or the server files?

  • Katherine Wakefield
    Posted at 06:36h, 22 February

    Just found this awesome tutorial. I have a couple questions. 1. Does the node_modules folder need to be on the server for this process to work and if it does not then can it be removed and ignored with .gitignore? 2. Do I have to continue to add files and commit each time I make changes or is that just done one time? Since I am not on HostGator I assumed in the gist on the last line …(filesToCopy, '~/www'); would be changed to my host which is '~/public_html/sitename/' – I was correct. Wow what a total game changer!! Love it, thanks so much!!

  • Confused Vids
    Posted at 21:42h, 11 March

    now what to do after this

  • Bud Hoffman
    Posted at 01:34h, 14 April

    why after installing flightplan it says zsh command not found?

  • ishaan Malik
    Posted at 09:56h, 10 June

    thanks it was very helpful

  • Александр Мотузов
    Posted at 15:31h, 29 November

    What's the point of flightplan? Why bother with another layer of complexity? Why not just use old-school .sh file with all necessary commands (including rsync)?

  • XX44zzY
    Posted at 15:49h, 03 May

    I'm watching in 2018, is this still the way to go?

  • Thadeo Arlo
    Posted at 08:45h, 23 June

    does this work with free hosting domains like ",, etc"

  • M D
    Posted at 08:13h, 10 October

    Fuck!!! This made my life so fucking easy. Thanks for sharing