How do the Tasks for AWS (Bamboo) CodeDeploy tasks differ from the built-in Bamboo CodeDeploy task?

Utoolity's various CodeDeploy tasks and Atlassian’s built-in AWS CodeDeploy task support regular deployments with AWS CodeDeploy just fine, i.e. once an app/service has been deployed, things look identical on the AWS side of things.

Here are the rough differences between the Atlassian and Utoolity approaches:

  • Utoolity's CodeDeploy tasks have broader API coverage and also allow you to create the target CodeDeploy Applications and CodeDeploy Deployment Groups from your build for example, which you can then use during a CodeDeploy Deployment (Atlassian's solution requires you to create the application and deployment group outside of Bamboo first).

  • Conversely, Atlassian's CodeDeploy task is nicely tailored for the deployment use case and allows you to upload to S3 and deploy within a single task (Utoolity's solution requires you to upload via the dedicated Amazon S3 Object task first).

  • Also, Atlassian's CodeDeploy task configuration UI does helpful AJAX lookups for applications and deployment groups for example, which we have skipped so far in favor of the mentioned broader API coverage.

  • Functionality wise, Atlassian's CodeDeploy task currently has notable limitations for specific use cases:

  • Security wise, Atlassian's CodeDeploy task only supports the limited direct use of long-term AWS security credentials, whereas Tasks for AWS (Bamboo) also includes Identity Federation for AWS (Bamboo), which allows you to apply AWS' best practices by only using temporary credentials via federated IAM users or IAM roles to ease managing and restricting your security exposure.
    Identity Federation for AWS is free for Tasks for AWS licensees – learn more.

  • Finally, Utoolity tends to release new versions more often, so you might see new CodeDeploy features earlier there; in particular, we do schedule a new release each time a supported service becomes available in a new region, so you will be able to use it there soon, if not immediately even.
    We also support the use of Bamboo variables for region selection, which not only eases specific build scenarios, but also allows to use new regions immediately, provided there are no other significant changes bound to a service's release in a new region.