Skip to content

Instantly share code, notes, and snippets.

@fahimbabarpatel
Created March 5, 2017 07:00
Show Gist options
  • Save fahimbabarpatel/ea9da907d5e253168bab13331d0bc154 to your computer and use it in GitHub Desktop.
Save fahimbabarpatel/ea9da907d5e253168bab13331d0bc154 to your computer and use it in GitHub Desktop.
Deployment using Javascript shipit npm
Shipit-cli - Command line utility to execute shipit scripts. 
shipit-deploy - Npm to do actual code movement and publishing.
shipit-npm - Npm to install npms on servers during deployment.
shipit-shared - Npm to access symlinks file and directory on servers.


module.exports = function (shipit) {
  require('shipit-deploy')(shipit);
  require('shipit-shared')(shipit);
  require('shipit-npm')(shipit);


  
  shipit.initConfig({
  	default: {
  	  repositoryUrl: "git@xxxxx.git",
      deployTo: "/home/work/code/app",
      workspace: '~/app',
      keepReleases: 2,
      shared: {
        overwrite: true,
        symlinkPath: "/home/work/code/app/shared",
        dirs: ['logs'],
        files: ['/config/db.js','/config/secret.js']
      }
  	},
  	dev: {
      servers: 'root@ip',
      branch: "develop",
      key: "~/.ssh/dev.pem"
    },
    staging: {
      servers: 'root@ip',
      branch: "stage",
      key: "~/.ssh/stage.pem"
    },
    production: {
      servers: 'root@ip',
      branch: "master",
      key: "~/.ssh/prod.pem"
    }
  });

  shipit.task('pwd', function () {
    return shipit.remote('pwd');
  });
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment