It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

bamboo maven credentials (settings.xml)

Hi everyone,

we have a Problem with our Bamboo maven builds and releases. We have Bamboo Version 5.6 and using maven in most of the configured projects. For dependency and atrifact managment we use a sonar nexus. On our Bamboo instance we have a lot of different projects which all have there own nexus repositories with credentials (at our nexus server).

Our Problem: Is there a smart way in Bamboo to store the Nexus Repository credentails (for each Projekt/Plan different) in a build plan?

Szenario: Each project uses its own settings.xml with the different mirrors and repository configuriation inside. At this time the settings.xml comes from the source code repository of each project, because we can't use a global settings.xml. The credentials for the nexus repositories musst be set in the settings.xml, but don't want to store passwords in the source code repo!

Is there a better way within bamboo to store settings.xml files for each build plan or project specific? Or how can we put the user/password dynamic in the settings.xml for each build?

The same problem appears when we want to do a "mvn release:prepare" or "mvn release:perform". There we have to set the scm credentials via bamboo variables like: "mvn release:perform -Dusername=${bamboo.username} -Dpassword=${bamboo.password}"
But this won't work for the credentials which has to be set in the settings.xml (like nexus credentials)

 

I hope you understand our problem and someone have a short answer for us.
Thank you in advanced

 

Tobias

3 answers

1 accepted

1 vote
Answer accepted

Hello Rafael,

thanks for your answer. We have now a possible solution, I just have forgotten to reply to my own question.

It is not possible to use system variables (like -Darguments=) in maven settings.xml out of the profiles tag, thats why it was not possible to put the bamboo variables inside the settings.xml. But maven allows to use environment variables in maven settings.xml and thats how it works.
We set a bamboo variable which stores the nexus password and set this bamboo variable in the maven task as an environment variable. This environment variable is used in the settings.xml as password for nexus.

This works very well and the password is not be visible any more.

bambooVariable.PNG

settings.PNG

I hope this solution helps some other with the same problem.

1 vote

Hello Tobias,

Thank you for your question.

Could you run your Maven task by providing "arguments" as parameter to your Maven release, please?

mvn ... "-Darguments=-Dusername=myuser -Dpassword=mypass"

It seems "${-Dsth=sth}" is not passed to maven release plugin, but the "-Darguments=" form should be. Please, refer to Maven for further information.

If you find this answer useful, I would kindly ask you to accept it so the same will be visible to others who might be facing the same issue you have inquired.

Thank you for your understanding.

Kind regards,
Rafael P. Sperafico
Atlassian Support

Where does Bamboo install the settings.xml file? Or more accurately, how can I make Bamboo use "my" settings.xml file that I store in /some_path/.m2/settings.xml in my Bamboo client?

Hi Christopher,

Facing the same problem.Did you find any workaround?

In the "Goal" configuration field of the "Maven 3.x" task you can pass an argument to Maven specifying where to find your settings.xml file. For example:

--settings=/some_path/.m2/settings.xml clean install

If you are using the "Artifactory Maven 3" task, put it in the "Additional Maven Parameters" field instead.

See Maven CLI Options Reference for details and other options.

But in this case, what are you doing with settings.xml? Do you have it in a repository and clone it? Do you have a task to just write it to a file?

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bamboo

Unable to add or edit Bitbucket Cloud repository in Bamboo

On 31 May, a GDPR-related change went live in the Bitbucket Cloud API that resulted in users not being able to create or edit Bitbucket Cloud Linked repositories in Bamboo. This API update removed t...

815 views 2 7
Read article

Community Events

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

Events near you