Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,463,053
Community Members
 
Community Events
176
Community Groups

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
rsperafico Atlassian Team Mar 24, 2015

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
TAGS

Atlassian Community Events