While we've been enjoying the features of Bamboo, there's a few issues that are hard to resolve. One of there is the methodology with the file layout structure of builds.
For a plan, say 'TRUNK' on projects MyProject1, MyProject2, Bamboo makes a directory in /xml-data/build-dir called 'MYPROJECT1-TRUNK' and 'MYPROJECT2-TRUNK'.
If I make another plan, say 'BRANCH' on projects MyProject1, MyProject2, Bamboo makes a directory in /xml-data/build-dir called 'MYPROJECT1-BRANCH and 'MYPROJECT2-BRANCH'.
The trouble with this (for us) lies in two areas:
1.) Dependency builds between different ant project projects expect the project name to be what the SVN module is called, i.e. MyProject1. This allows for build artifacts from MyProject1 to be fetched by MyProject2 by navigating the directory structure appropriately, i.e. Project2 gets artifacts in ../MyProject1/dist
We currently work around this issue by manually creating symbolic links in that /xml-data/build-dir directory, i.e. 'ln -s MYPROJECT1-TRUNK MyProject'
2.) Having build plans based on source control branches in the same directory causes collisions for trying to get appropriate build artifacts. In the example above, I explained how we can work around the renaming of the projects by using symbolic links so that ant can navigate the directory path to fetch its dependencies. However, this model fails if we are trying to have two projects with the same SVN name but from the trunk and a branch in the same directory – the symbolic link would always have to map only to a single project.
While we haven't done it yet, I suppose the workaround would be to run a second instance of Bamboo on the same JBoss server and give it a different bamboo_home directory.
What might be nice (from our perspective, of course) is the option or ability to say to use the 'native project names' for the builds which could then maybe map out a driectory structure like:
whereas MyProject1 and MyProject2 are the 'native svn project names' and TRUNK and BRANCH are Bamboo plans.