Automate System/Server Setup through Ansible
I think you should have a look at Ansible
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy check out github repo
Ansible is a simple agentless tool which runs purely on ssh.
It consists of a collection of roles which can be included in the definition of a host. A role, in turn, is composed of tasks
A simple task looks like as follows:
//Download and unpacking node js
name: Download and unpack nodejs
unarchive: src={{nodejs_tarball_url}} dest={{nodejs_path}} copy=no
//Installing node-gyp on system
name: Install node-gyp
npm: name=node-gyp global=yes executable={{nodejs_bin_path}}/npm state=present
// More task as per need for e.g setting up mongodb, setting redis etc.
Checkout some examples to get rid of this.
Pre Deployment Tasks
For pre deployment task like test case running, bundling,minification etc, Integrate some kind of javascript task runners like Grunt
Continuous Integration and Continuous Deployment
- Circle Ci
- Jenkins