Bamboo OnDemand and Artifactory
Asked by Lionel Orellana:

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](/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.


Answers:
author: Przemek Bruski
body: 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.


author: Lionel Orellana
body: 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.

comments: author: Przemek Bruski
body: 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.


author: Lionel Orellana
body: 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.


author: Przemek Bruski
body: AFAIK we have Sonatype's Nexus deployed on an EC2 instance for our internal purposes.

<br />


author: Lionel Orellana
body: 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\>  
That path is where I need to copy all my stuff obviously.  
Can you clarify your previous comment?  
Thanks

<br />


Tags: cloud

maven