I used to deploy our application into 200 centos machine, and these machines are far from my current office site. The deployment is simple.
Firstly sync the code and build in the Head Linux ( one of the machine in the Linux farm). Then copy the build to the other 199 machines.
Finally start the application on all the machines.
Yes, it is very simple. But if you deploy it in hand ,it will be crazy. It's the place to show the power of the shell script.
1. Sync code and build in one "build.sh" scipt.
2. Copy the build to other machine in scp-range.sh script, which use the scp command.
#!/bin/sh
build=$1
destination=$2
iplists=$3
for host in $(cat $iplists)
do
scp $1 host:$destination
done
Wow, so cool!
One way , you can see, is that it without typing password. I has two way to solve it. One is use the ssh authorized using the key-pair. The other way is to use the expect script.
Note: All the machine have the same password.
3. Start the application in the remote.
#!/bin/sh
cmd=$1
iplists=$3
for host in $(cat $iplists)
do
ssh -t -t -f host "$cmd"
done
Wow, so cool. When I run these script, it give my sharp surprise.
Of course, all the 3 steps can be automated. You can just type one command to execute whole the thing.
If I want to automate these in window os, OMG, it will be impossible for me .
This is the way I see the power of Linux .