Buddy is the underdog of the CI/CD world. It's a frustrating world, filled with broken Jenkins servers and exhausting CodeBuild UIs. I discovered Buddy about a year ago and I've been raving about it ever since. It offers a different approach to a complex, difficult problem.
Buddy is a SaaS offering for CI/CD, but it differs from the existing solutions. Consider the creation of a Jenkins server. Endless configuration files, generic UIs, text boxes, authorization management and so on. Then, when it's running, every pipeline needs the user to work through an army of options before it's running, not to mention provisioning SSH keys on your agents. It does all of this because Jenkins is highly generic and, with enough effort, you can make it do anything.
Buddy offers a different option. Instead of high user effort, it focuses on "just working". It comes prepackaged with a series of great integrations that work with minimal effort. This creates a much different experience with the user. Instead of setting up a server, you sign up. Instead of configuring plugins, you declaratively decide what you want to do and expect Buddy to handle it for you.
Buddy has a simple mental model. Pipelines and actions. Pipelines are chains of actions. Buddy has over 109 different actions to choose from, ranging from specific to generic. You can run a simple bash script or you can deploy an application to Firebase.
Until recently, Actions were only visible from within the Buddy platform. You'd need an account and a free trial to view them. Now they're free and out in the wild, for all to see. This forms outstanding living documentation that we can dig into.
My recent projects have been made trivial by using this feature. Now, I can rummage around the actions section and see details of the action, as well as the internals of its implementation. This is such a rare benefit.
When I'm working with other SaaS or PaaS tooling, such as AWS, I am often frustrated by the lack of visibility I have. It is not often that the internal details of a proprietary implementation are put on show, but Buddy does it with pride.
It offers important details, such as the version of Ubuntu that your AWS CLI will run on. This makes troubleshooting far more straight forward and offers many of the benefits of a self hosted service.
After all, no one cares about visibility until they're looking for something... and then it's too late!
When you select your desired integration, you're taken to an in depth summary of your actions. This view also contains a preview of what the configuration looks like.
This is great because, before investing any time in hooking up an action, you can see which fields are necessary. Most only require one or two inputs.
So you've opened up your action and you decide that, actually, it's not for you. Maybe you don't have access to that tool, or it doesn't fit in with the rest of your strategy.
To help with this, the page also includes an "alternatives" section, that will list out other options you can choose. For example, if I'm not entirely comfortable with Firebase, the alternatives section is full of other useful GCP tooling.
If I had one criticism, it's simply to increase the available integrations. For example, deploying into Kubernetes is fully supported but there isn't yet an option for Helm. I think if Buddy really want to take things to the next level, the devil is in the details.
That said, I think this feature expands on Buddy's existing offering brilliantly. Having the documentation available in such a crisp, easily consumed format makes it even easier to use their tooling.