Can we build it? Yes we can! Bob is a framework for automating builds for payloads in a "scriptably" configurable way. Read more at https://coffeegist.com/security/automation-through-azure-with-bob/.
To ensure use of python virtual environments on Ubuntu, run the following command to install the necessary packages.
sudo apt-get install python3-venv
git clone [email protected]:coffeegist/bob-the-builder.git
cd bob-the-builder
python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt
Copy and edit the bob-config.json
file to include a personal access token and organization url to the Azure DevOps account of your choosing.
cd bob
cp bob-config.json.sample bob-config.json
For this project to function, you need to have access to an Azure DevOps account that has pre-existing pipelines configured to build payloads.
Login to https://dev.azure.com/YOUR_USERNAME/_usersSettings/tokens
- Click + New Token
- Name: “Bob”
- Organization: "<YOUR_ORG_HERE>"
- Scope: Full Access
- Click Create
Once you have access, run the following command to configure a blueprint:
python bob.py configure -f my-blueprint.json
Feel free to modify your blueprint manually, especially if you are building a pipeline that has queue-time variables. Then, using your newly configured blueprint, my-blueprint.json
:
python bob.py run -f my-blueprint.json -o ./build-artifacts
This project obviously uses virtual environments (venv). When you're done with Bob, just deactivate your virtual environment by issuing the following command:
deactivate
Please post any issues you come across!