Use artifacts from branched plans
Asked by Adam Burg:

Hi,

I'd like to ask about the artifacts sharing capabilities of Bamboo. I haven't installed Bamboo anywhere yet, but I've read the documentation regarding sharing artifacts, and I believe what I'm trying to do isn't possible to do automatically, but maybe someone more familiar with Bamboo knows for a fact whether it is :wink:

My specific situation is this:

Currently, we have a Jenkins setup where a 'top-level' project combines the artifacts of about 6 other projects into a release build. All the projects involved are based on **different** git repositories.

For now, we don't have a git-flow style handling of release/development/hotfix etc. branches, but we're looking to introduce it. We're trying to adapt our CI to this situation. Normally, with just one project, this should be no problem, but we're trying to handle several repositories in parallel.

In Jenkins, this seems cumbersome. You have to clone each subproject manually for each new branch, to my knowledge, plus, you'd have to modify the clone of the top-level project to copy artifacts from the correct clone of each subproject (i.e. the hotfix release build clone would have to copy from the hotfix subproject clones). All of this requires manual modification of the project configuration.

From what I understand from the docs, at least the handling of building from different branches using a common template would be solved by the 'plan branches' feature of Bamboo. I know there are a few plugins I could use in Jenkins to achieve similar results, but Bamboo's handling looks more mature (since it's part of the original product and not just some plug-in).

However, if I understand correctly, using a shared artifact in Bamboo requires that I give the artifact of the subproject a unique name.

Suppose I had a top-level build job as described above which uses artifacts from other bamboo jobs. Is there a way to have it automatically use the 'release' branch build artifacts from each subproject when building the 'release' branch of the combining project? Or do I have to give each branch plan in the subprojects a unique artifact name and manually set up the required artifact names for each branch of the combining project?

Please ask for clarification if my description of the problem is too confusing :wink:

Thanks,

Adam


Answers:
author: Adam Burg
body: Unfortunately no. Since I was only looking into Bamboo to see whether it can help with our specific problem and since there was no answer to my question from staff or community, we didn't look into it further and haven't considered getting Bamboo. We still use Jenkins instead and haven't created branches so far. I guess it would be possible to write scripts which clone a whole bunch of pre-defined projects through an API and automatically change the respective settings in the configuration (artifact names, etc.).


author: Peter Lypkie
body: I'm curious if you ever figured anything out in this regard, as this is my exact situation. Bamboo requires that a deploy plan only pull from a single build plan, so I have a top-level plan as you mentioned, purely for the purpose of aggregation. I haven't figured out how to properly aggregate my branch builds though.