Deploy a JS project – Part I

After many years working with Ruby and tools like Capistrano, when I’ve started working with AngularJS my first question was “How can I deploy my code?”.

You may have a lot of things to deploy, your stack may be different from the common projects you read on each blog online.

I will try to expose a solution for a particular case, but explain each part in order to let you use what you need in you particular stack.In my example I have:

  • An API developed with NodeJS (Backend). Explained in Part II
  • AngularJS to consume my API (Frontend). Explained in Part II
  • MongoDB.  Explained in Part II
  • NPM and Bower to handle my libraries. Explained in Part III
  • Forever to run my API server in background. Explained in Part IV
  • NGinx to run my webserver. Explained in Part IV
  • Shipit. Explained in Part V
  • Personal Shipit extension. Explained in Part VI*

All this posts are a suit to explain how to handle a project based on Javascript technologies, is not necessary to have exactly the same tools. I’ll try to put all the information to let you replace any part with the tools you want.

Part of the replacement philosophy needs to have a balance, if you want to use some other tool to do the deploy, as Capistrano for example, this is not the best article for you. You may have some information about the way I’ve used to create all my deploy process.