As far as I can tell the recommended approach for using maven with Bamboo OnDemand is to keep the maven repository in an EBS volume (https://confluence.atlassian.com/display/AOD/Configuring+elastic+instances+to+use+the+EBS). You have to manually update the EBS snapshot to add new binaries to the repository.
That approach sounds reasonable for 3rd party dependencies that might not change much once you have them. But it doesn't work for deploying the result of your own builds and making them available to others in your organisation. More than just a maven repository the question really is how to integrate Bamboo OnDemand with a repository manager like Artifactory, Nexus or Archiva.
The only solution I could find was to point Bamboo back to your own repository manager (https://answers.atlassian.com/questions/35548/can-i-point-ondemand-bamboo-to-my-maven-repository). That requires creating an unsupported custom elastic image.
A JIRA issue was created more than 3 years ago (https://jira.atlassian.com/browse/AOD-2305) to provide a repository manager with the OnDemand stack. Since that is not getting much traction there must be good solutions people have found for working with repository managers.
So what's the current state of play? What are people doing to integrate with repository managers? What is Attlassian's recommendation?
If you already have a running repository manager, you can use an instance setup script to modify maven settings of your agent and use your own repo manager.
Thanks Przemek. I work for a government agency and they are a bit paranoid about letting people into their network. I'm going to use the cloud version of Artifactory instead and point the agent to that. To avoid having the agent download all the dependecies everytime it runs I'll setup the "local"repository in an EBS volume as suggested in the link above. Every now and then I can update the EBS snapshot with new dependencies but having a base repository will reduce the time the agent spends downloading stuff from Artifcatory. Hope I'm not missing something here. We'll se how it goes.
Thanks for the tip. Which repo manager do you use internally? Is it Artifactory? It's a bit annoying that I have to get a separate cloud product from Artifactory. It would be nice for Atlassian to provide a repository manager with OnDemand. I'm surprised a JIRA was opened for this 3 years ago and nothing's happenned. I guess adding someone else's product to your stack can be problematic.
Przemek, now that I've set this up I don't understand your previous comment of "make sure you use file:/// protocol to access the EBS repo - don't copy the EBS content to .m2 manually."
The maven settings file points the local repository to the mounted ebs volume like so
See how to use Jira on the go! Demo Den Episode 5 is here: meet Jira Mobile with Jira Product Manager Rayen Magpantay. Demo Den is in our monthly series where a Jira PM demonstrates...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events