|
|
|
|
|
by troels
6193 days ago
|
|
Try getting a moderately complex shell script to run across different platforms. I dare you. While it might be a safe bet these days to assume that bash exists (Though there are no guarantees), you can't really do anything with the shell alone - You have to call external commands, and they vary from platform to platform. FreeBSD has all sorts of annoying small variations of standard gnu utilities (or was it the other way around). And Windows doesn't even have a standard shell. > To me it seems like Fabric/Capistrano were invented by people, for people, who are afraid to learn the bash syntax. To me it seems like you never actually used shell script for anything serious. |
|
That's a broken premise. Your deployment script doesn't need (and should not) be complex by any metric. Your dependencies are ssh, tar, mv, cp, rsync/git/svn and a very small number of other utilities which are easily tested or wrapped for compatibility. If you think you need more then you're likely doing it wrong (e.g. trying to reinvent version control and package management at the same time).
and they vary from platform to platform
That's the other broken premise. You don't "build once, run anywhere". You build platform specific modules and only trigger them centrally. Puppet shows the way.
To me it seems like you never actually used shell script for anything serious.
Hm, let me think, I've created and managed a deployment of >20 racks. But yeah, nothing serious.