We're trying to evaluate how we can use Bamboo to automate building, testing and deployment of our projects. For one project, we have several Git branches for the project where the jobs we want for each branch have a lot in common but some differences. What strategies are there for sharing common tasks between jobs in Bamboo?
As an example of the sequential tasks needed for each branch:
Development branch - Checkout, Run build script with development flag set, Run Sonar, Run JUnit report parser, Deploy to development environment
Feature branch - Checkout, Run build script with development flag set, Run JUnit report parser
Master branch - Checkout, Run build script with production flag set, Run Sonar, Run JUnit report parser, Manual task that requires manual testers to approve before continuing, Deploy to production environment
Ideally, we don't want to be cloning the tasks for each branch job as if we need to tweak alter or add tasks, we'd have to manually keep the common parts in sync and might make mistakes. I'm aware of the multiple branch support Bamboo has as well as the ability to use conditions in scripts that depend on Bamboo variables (e.g. like the current branch name). I have problems seeing how you can make e.g. a Maven task conditionally run (unless you switch to using a script task for this instead) and how the manual task will only apply to the master branch job.
Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda ...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot