by kmmbvnr_ on 9/20/14, 9:03 AM with 32 comments
by aleem on 9/20/14, 5:16 PM
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.
by zwischenzug on 9/20/14, 5:57 PM
http://ianmiell.github.io/shutit/
https://github.com/ianmiell/shutit
Used extensively within our corp for container builds, but easily repurposed for straightforward shell provisioning. Bash within a build-friendly python framework.
I talk about it more here:
https://www.youtube.com/watch?v=zVUPmmUU3yY
tho slightly out of date.
Some blogging on it here:
by linguafranca on 9/20/14, 2:23 PM
[1]: https://github.com/brandonhilkert/fucking_shell_scripts
EDIT: BashBooster says it's developed to be used with Vagrant, whereas f_s_s is stand-alone. So it doesn't quite require nothing.
by zenojevski on 9/20/14, 10:46 AM
How would you compare this with something like Shunit2[1]?
I can see someone missing some error confirmations by being careless when producing the output or testing things in isolation.
But I can also see how this could be more likely to catch some side effects (stupid example: unclosed terminal escapes) in combined output.
I was looking for a nice testing tool for my bash migration tool[2], and while the `assert` way is well known, I like writing bash because it's bare and requires discipline and yours seems survivalist enough.
[1]: https://code.google.com/p/shunit2/ [2]: https://github.com/zenoamaro/rash
by krick on 9/20/14, 8:10 PM
Yet all projects are alive yet, so there probably is some difference which makes all tools applicable. So it makes me feel uncomfortable asking this obviously nonsensical question, but: is there some one tool I should chose if I want to get away from the stone age of using bash scripts for provisioning?
by Firefishy on 9/20/14, 12:31 PM
by sandis on 9/20/14, 5:16 PM
by zobzu on 9/20/14, 7:19 PM
by millettjon on 9/20/14, 6:19 PM
by diff_sky on 9/20/14, 3:34 PM
by AndrewVos on 9/20/14, 11:20 AM
by captn3m0 on 9/20/14, 11:57 AM
by gpapilion on 9/20/14, 5:37 PM
by uggedal on 9/20/14, 6:10 PM
by Fizzadar on 9/20/14, 10:40 AM
by ape4 on 9/20/14, 8:25 PM
by neilellis on 9/20/14, 1:30 PM