========================== Comfirm deploy.sh - README ========================== (C) 2012 Comfirm AB Deploy your code, files, configurations etc. to multiple servers via ssh. Perfect for the cloud. Written as a shell script (sh, standard bourne shell) and runs on every unix server. No need for remote install. Just run the deploy.sh script on the local machine. Authors: Jack Engqvist Johansson, Comfirm AB http://comfirm.se License: BSD 3-Clause See the LICENSE file Usage ===== To deploy, run: ./deploy --install [ .deploy location ] To update already existing deployment, run: ./deploy --update [ .deploy location ] It will run copy, replace and update-s2... Partial deployment options: ./deploy --begin Run begin script ./deploy --copy Copy files to /tmp ./deploy --replace Replace the old files ./deploy --finish Run the finish script ./deploy --update-s2 Run the update script, only If the location where the .deploy file isn't specified, deploy.sh will assume it's in the current directory. What you need ============= - The same username to all servers. - An ssh keyfile without passphrase. - The ssh key should be the same for all servers. - [optional] Root access or sudo without password. - sh or bash. Note: This script was designed for elastic cloud computing. Installation ============ - Copy deploy.conf to /etc/deploy.conf - Create a .deploy file in your project. You can use the sample deploy file shipped with this release. Just make sure to rename it. - Put the deploy.sh in a handy place like /usr/local/sbin/deploy.sh and make it executable. If you want you can even put it in your project location. Tips & trix =========== - To make it even easier you can let any heartbeat software update the deploy.conf automatically. - Write your .deploy file with if statements etc. to make it easy to rerun it everytime there's new servers or if the old ones need any updates. Don't be afraid to fork it and send a pull request. Any improvements are welcome.