Having some major issues with Bamboo.
I run a rails project, that runs on Engine Yard.
My build strategy is as follows
- Checkout from Source Code
- bundle install
- rspec (run tests)
- Tag my build
(code to create tag causes new commit, tag used in deploy)
git remote remove origin
git remote add origin <my repo>
git tag Bamboo-${bamboo.buildNumber}
git push origin Bamboo-${bamboo.buildNumber}
In my deploy the way engine yard works is you deploy based on branches or tags ( there is no build artifacts)
So in my Deploy it's a single script that uses a gem https://github.com/engineyard/engineyard
and runs
ey deploy --environment <staging> --tag=Bamboo- ${bamboo.buildNumber} --app <my app>
Engine yard does all the rails 'stuff' to prep the build and deploy it. Really just need Bamboo to run test and if it works tag build.
PROBLEM
I am using bitbucket source control and have configured a hook to trigger a bamboo build on any commit to master.
The issue step 4) is pushing a tag which causes bitbucket to execute another build
Resulting in infinitely building bamboo.
Looking into how to solve this. Figured I could use Bamboo 'Exclude Changesets' and filter out a particular commit message
so my 4) would now look like
git remote remove origin
git remote add origin <my repo>
#create tag
git tag -a Bamboo-${bamboo.buildNumber} - m 'bamboo build'
#push tag
git push origin Bamboo-${bamboo.buildNumber}
However as per the comments on that confluence page. Exclude Changsets isn't a visible option anymore?
I don't understand how I can stop this infinite building loop.