Babushka for Devs
What is Babushka?
Babushka is a lightweight devops utility that helps automate the repeatable installation tasks. It consists of series of community and custom scripts that are hosted on github.
And as Ben Hoskings describes it:
The idea is this: you take a job that you’d rather not do manually, and describe it to babushka using its DSL. The way it works, babushka not only knows how to accomplish each part of the job, it also knows how to check if each part is already done.
Why use it?
As a consultant, I’m always entering new environment and quickly scaling up my workstation to install every tool need. Typically, my coworkers are doing the same. Then we repeat the same steps on our Continuous Integration (CI) machine as well.
These days there are tons of tools a developer can choose. As a result this makes it even harder to get your dev machine set up over and over again. Wouldn’t be great if we can simplify these repetitive tasks and have a script that would setup your box?
Tools like Chef will alleviate this problem on the server side but it’s too heavy to be used as a go to utility in a day to day developer workstation. So what’s the solution you say?
Well, enter Babushka!
How I Use it
Since it knows how to install applications in OSX, I describe the apps I want to install in
apps.rb like the following:
Each of the dependencies are declared by the dsl
dep and the application is named. The application name must equal what will exist in
~/Applications folder. The
source must contain the URL link for a
.zip which holds the
Some times I use it to install key plugins into X-Code, here is how I describe it
Here I use the method
met? to check if the plugin exists in this folder and use the method
meet to perform a shell command that will place the plugin there.
Go ahead, give Babushka a shot! Here are the steps:
How to Install
Download my babushka deps
Find all my deps
Use my bootstrap
More info can be found on the docs at Babushka.