Tuesday, November 22, 2016

Using Custom Deployments with Ansible

For those who are using Ansible and other configuration management tools from Bamboo, Custom Deployments plugin might come in handy:


Sometimes you would like to deploy partially only certain machines, sometimes a particular software only.

Bamboo has since the beginning variables and custom build plan executions, what about deployments? I often wanted to deploy and pass a new parameters to the deployment either to limit the number of hosts affected in a large cluster, or to deploy single components, or to change the target of a deployment.

While a regular deployment will update the entire software release I wanted to use at least 2 variables in my Ansible tasks:

- HOSTS: all

and most importantly customize them without having to edit the environment all the time.

The Custom Deployments for Bamboo plugin allows this scenario, assuming you use the regular flows to create a release you can select a version, fill your variables and deploy.

In terms of security you can also filter which variables you would like to expose to the teams. Under Bamboo security you can set a regular expression and only variables matching will be shown.