Skip to content

Instantly share code, notes, and snippets.

@learncodeacademy
Last active October 22, 2024 13:23
Show Gist options
  • Save learncodeacademy/393c8ec3ebaa92df9a29 to your computer and use it in GitHub Desktop.
Save learncodeacademy/393c8ec3ebaa92df9a29 to your computer and use it in GitHub Desktop.
Deploy HTML site with Flightplan

###Prerequesites

Install flightplan globally

npm install -g flightplan

Install flightplan in your project folder

npm install flightplan

If your project is not currently a git repository, make it one:

git init
git add -A
git commit -m "first commit"

Create your flightplan.js file (changing the host and username)

var plan = require('flightplan');

// configuration
plan.target('production', [
  {
    host: 'willsawesomesite.com',
    username: 'willster',
    port: 2222,
    agent: process.env.SSH_AUTH_SOCK
  },
]);

// run commands on localhost
plan.local(function(local) {
  // uncomment these if you need to run a build on your machine first
  // local.log('Run build');
  // local.exec('gulp build');

  local.log('Copy files to remote hosts');
  var filesToCopy = local.exec('git ls-files', {silent: true});
  // rsync files to all the destination's hosts
  local.transfer(filesToCopy, '~/www/');
});

###Hate typing in your password all the time? See how to setup passwordless SSH:

Copy link

ghost commented Jan 14, 2015

Great tutorial. I will use this in the future.

@koenverburg
Copy link

Great tut, but cant get flightplan to move the files to "~/var/www".
I'm trying with the remote command but cant get them to work this is my flightplan.js https://github.com/CreativeKoen/maceo/blob/development/flightplan.js

@amonmoce
Copy link

Excellent ... akuna matata!!!

@marciofmjr
Copy link

Amazing !!!

@labanino
Copy link

labanino commented Feb 9, 2016

Woohoo! Thanks man!

@adegbengaagoro
Copy link

adegbengaagoro commented Jul 5, 2016

I have a server with multiple domains on it. How can I target a very nested folder as my production folder for the website e.g.

Server

  • Domain 1
  • Domain 2
  • Domain 3
    • sites
      • Year-1
      • Year-2
      • Year-3

The folder I want to target is Domain 3/sites/Year-3

Thanks and looking forward to your response

@pbellot77
Copy link

I'm following the instructions to use flight plan but I'm getting a connection refused. I'm I using the wrong port or is there something else I need to do on hostgator?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment