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?
Thanks
Lionel.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That's how we handle that on instances used internall at Atlassian. Just make sure you use file:/// protocol to access the EBS repo - don't copy the EBS content to .m2 manually.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
AFAIK we have Sonatype's Nexus deployed on an EC2 instance for our internal purposes.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
<localRepository>/mnt/bamboo-ebs/maven/.m2/repository</localRepository>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.