Speed, ease of use and reliability are the stepping stones towards creating good CI/CD software. Making the tool flexible enough to cover the growing number of use cases, however, is what makes it great. And this is what we focused on with our last week's release.
Actions in Buddy's pipelines can be run in different modes. Until now, three types of actions were available:
- Primary actions – always run on every execution
- Actions run on failure – run only if a primary action fails
- Actions run on back to normal – run if the pipeline status has changed from failed to successful (i.e. the following execution finished successfully)
In response to your feedback, in the last iteration we added two more modes. Let's break them down to details right now.
Actions run on warning
Usually, when an action fails, the execution stops and throws an error. You can, however, configure an action to proceed even though it failed. In this case, it will receive the
warning status. From now on you can add extra actions that will be triggered only if one or more other actions in the pipeline end with that status.
For example, let's assume we want to post a webhook that the deployment is starting. The webhook is not the crucial part in this workflow, so even if it fails to reach its destination, we still want the deployment to proceed. What you should do is set the action's error handling to
However, we still want to get notified if something goes wrong. Since it's a warning, you can add a notification action to the new section in the pipeline:
You can see the pipeline contains two conditional notifications: one that will send a message to the DevOps channel in case the build or deployment fails, and another one that will notify the second team that the webhooks are not reaching their destination. Two use cases – both served, clear and simple.
Actions run on wait for approval
The actions in this section will be run only if a primary action is waiting for manual confirmation. Currently, there are three actions that put the pipeline on hold when executed:
For example, we have a pipeline that performs visual tests on our website before updating the production server. If everything's fine, the pipeline will proceed with deployment. However, if the tests detect the website has changed, it will put the pipeline on hold and will wait for somebody to either approve or reject the changes. In this case, you can add a notification to the new section in the pipeline that will inform your team about the pending deployment:
Of course you can add any number of actions to any section at once at any time.
Buddy is 100% customer driven. If there’s a feature or integration you miss, let us know in the comments below or directly at firstname.lastname@example.org.