In order to set up simple project deployment with minimum configuration/programming.
Currently, the tool conforms to the following assumptions:
- the code is being fetched from a Git repositories, accessible from the remote servers;
- ssh key (
~/.ssh/id_rsa.pub
) is being used for authentication; - the
package.json
has the following npm scripts described:start
,status
,stop
,deploy
(to use with Naught, for example); - some more.
sudo npm install -g zaz
Place somewhere (in your project root, for example) a file named zaz.json
with the following structure:
{
"stages": {
"staging": {
"user": "<deployer username>",
"git": "<git repo containing the code>",
"path": "<where to put the folder structure on your remote server>",
"hosts": [
"<your remote staging host 1>",
...
"<your remote staging host n>"
]
},
"production": {
...
}
}
}
zaz <stage>
looks for zaz.json
and performs the deployment according
- are welcome;
- should be tested;
- should follow the same coding style.
Keep it simple, minimum bells and whistles, please.
Copyright (c) 2014 Ruslan Bredikhin