We have Stash 2.10.0 linked with Bamboo 5.3 for builds, both running as Windows services.
Build Plans in Bamboo are set to poll Stash every 5 minutes for changes, and build when necessary. This works great most of the time, except when Stash is down for backup (which I do by stopping the service and tar'ing up Stash home before restarting).
During the Stash downtime, Bamboo reports "Unable to detect changes" errors for each plan - not surprising since Stash is not responding.
So in an attempt to avoid these, I tried shutting the Bamboo server service down for the duration of the Stash backup, but I've found that this then causes the remote Build Agents to go offline and I have to manually restart them.
The only solution I've come up with to avoid error conditions is to switch the repository polling from "Every 5 minutes" to cron based , excluding the the backup period, such as "0 0/5 06-22 * * ?" (ok the backup doesn't take 8 hours!). But this will mean every plan firing off at the same second every 5 minutes unless I choose different second/minute combination for each plan, which is a pain as I'm trying to standardise as much configuration as possible between plans.
Is there any other solution that you can suggest which avoids explicit scheduling? Getting the remote agents to cope with server downtime would be preferable I think.
You could also just trigger your builds using a post-receive hook in Stash.
using the following url to your build plan :
You'll need to add a remote trigger to your Bamboo build plan so it can be triggered by this call.
If you do this then your problems are nonexistent :)
Thanks, Peter, I was vaguely aware of this possibility but hadn't investigated it yet. I'll give it a try, although from what I've read in other posts I think I have to explicitly install the hook in every new repo when a build plan is set up for it.
BTW I've since realised that I could use a cron expression to schedule the polling as well, but I'd still have the "everything polls together" problem.
I just made a quick blogpost about it : http://www.petervandevoorde.com/2014/01/21/triggering-a-build-in-bamboo-from-stash/
It gives step by step instructions.
You will indeed need to do this for each repo and new build plan.
I'm John Allspaw, co-founder of Adaptive Capacity Labs, where we help teams use their incidents to learn and improve. We bring research-driven methods and approaches to drive effective inciden...
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
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs