4 ms·
I used Ansible and got up and running in 2 days. But for whatever reason, I decided bash was better because it was more portable, had fewer dependencies and fra
by aleem 12y ago
I used Ansible and got up and running in 2 days. But for whatever reason, I decided bash was better because it was more portable, had fewer dependencies and frankly, how hard could it be to write bash routines to download files, unpack them, install packages, etc. Besides, bash skills are more transferrable.
After 3 weeks or labouring and using FSS with a fully working system, I dropped it all and went back to Ansible. I don't regret the time spent because I picked up a lot of transferrable skills from command line utilities and bash.
There are simple things like downloading a file which BashBooster gets wrong. If the file already exists, it should not abort, it should resume download or compare file sizes to ensure that the previous download didn't terminate abruptly. Basically, this and other idempotency issues need to be dealt with very carefully. Even simple things like "mkdir -p foo" instead of just "mkdir foo".
Once you get past idempotency you will most likely run into performance issues and then into project velocity.
If you really must use Bash Scripts, I would suggest using them via Ansible's Shell + Command modules. This will allow you to lean on Ansible until your Bash scripts can catch up. It will also give you Ansible's inventory management features.
- geerlingguy 12y agoDitto. And to the point BashBooster 'requires nothing'—it still requires bash, so good luck with cross-platform provisioning :) On a more serious note, you should know how to use bash scripts effectively, but also know their limitations (true idempotence is hard, testing is annoying, error handling is hit or miss, etc.); there's a reason most infrastructure moves towards a higher level of abstraction/convenience like Ansible or Puppet.
- mvc 12y ago> how hard could it be to write bash routines to download files, unpack them, install packages, etc. I haven't used Gentoo for a long time but wasn't part of it's package system a nice little DSL for writing scripts that would "download files, unpack them, install packages, etc".
- edoceo 12y agoYep, on a full Gentoo environment one can make their own "ebuilds" which do all kinds of awesome things - I've got packages for web-app deploys and other fun things. Its python+bash