Good morning all,
We recently changed our product to support two database backends rather than just the one we had before. Previously, we merged all pull requests into our staging branch, ran a Bamboo job with our automated test suite against it and used branch merging to push the changes to the release branch if the job was successful against the staging branch.
What we'd like to do now is have the following workflow:
Here are some of the complications I'm facing:
I might be missing something really obvious but I haven't found a clean way to make all these things come together nicely. I truly appreciate any advice that points me in the right direction.
Thanks for the structured description!
To assure I understand your scenario I still need you to share a few things with me:
I'll wait for your comments.
Here is my current setup:
1. I have one plan "Product X Release" which runs on the release/5.0 branch. It has a plan branch for the staging/5.0 branch. The plan currently has one stage/job that checkouts out the code, builds the thing, runs the tests. The staging/5.0 branch/job is triggered by the repo. Both of these branches are currently only setup to run against the older of the database platforms.
As of now, I have a second plan which is configured to run the same tasks but against the release/5.0 branch, the newer database platform, and triggered by the repo. This is not ideal because if there are errors in the commits that break with the new database platform, we don't find out until after it is merged to the release branch.
2. The merge/push is configured with "Branch merging enabled" and using the Gatekeeper option with the staging plan branch.
3. I am not using multiple stages so that may be what I am missing. I am guessing that I need to setup a second stage that executes the same list of tasks but against the newer database platform. I'll poke at this option while I await your response.
In fact from your description, I see that what you need is another job in the same plan you already had.
As a test I suggest you the following:
Assuming both jobs are in the same stage, they will run in parallel. You don't need another plan for that. I suggest you to check out this old video about Bamboo structural concepts that will probably give you the information you need to adjust this setup:
Let me know your findings after that.
Thanks again Daniel! This is exactly what I needed. I couldn't confirm the solution until today because we had some broken tests in one database only that was preventing everything from being merged to the release branch. An unfortunate delay but it proved that your suggestion is exactly what we needed. After both jobs ran successfully, the code from staging was successfully merged to release. Thanks so much!!
Hey there, Data Center community! I'm Martyna Wojtas and I am the Product Manager for Bamboo Data Center. I’m excited to share that Bamboo 9.0 is now available. We purpose-built this platform to help...