Unattended Bamboo Server install and config
Asked by Scott Burks:

I am working on modeling Bamboo Server in our "Cloud" network using Chef. What I'm looking for that I haven't been able to find is any documentation on if this is possible and if so what needs to be configured. By that I mean which xml files, (i.e., bamboo.cfg.xml). I have the installation automated and I have part of the configuration automated up until the point of the database choice. It seems with me changing the "setupStep" I can get to a certain point but I'm kind of stuck at this point in the configuration of the Bamboo Server. Any help you can give me is greatly appreciated.


Answers:
author: Lex Spoon
body: Has there been any update on this? I am trying to set up regression testing for a Bamboo add-on. Doing so involves periodically starting over with a fresh install, so it's not a good option to have to click through the Setup Wizard. As well, it's also not a great option to tar up a pristine version of the installation, because I need to be able to run the tests against different versions of Bamboo over time. As well, I notice that the generated `bamboo.cfg.xml` file has the local host name in it, anyway.

For comparison, here are the instructions for unattended installation of Stash:

<https://confluence.atlassian.com/display/STASH/Automated+setup+for+Stash>

It would be very helpful for add-on developers if there were something similar for Bamboo.

I have made some progress by editing the `bamboo.cfg.xml` file, but it seems to only partially work and then throw a lot of exceptions. Also, I see no way to create the admin user within `bamboo.cfg.xml`.

At this point I am considering driving the Setup Wizard from a script, but that's a slow and ugly way to do it.


author: Scott Burks
body: Well yes and no :smile: I got it all automated but what I finally ended up doing was to manually do the install and configuration of Bamboo Server. Once that was done I then took an export of the Oracle database for the Bamboo Server installation and configuration and created a .dat file. So I had recipes for the server install and a recipe for the server config. During the install obviously the binaries, directory structure, etc, were laid down and then in the server config I did an Oracle import of the .dat file and then overwrote the .xml config files needed by Bamboo. Its too much detail to go into in this repsonse but I would be glad to give you more details if you want them....


author: Scott Burks
body: Let me see if I can ask this question differently... From the standpoint of automation I want to be able to click a button for Bamboo Server and out the other end comes an already configured Bamboo Server instance. I want to do this without tarring up a complete functioning install/config. I've been able to automate the installation piece up until it ask you to choose embedded/external database and even that I've figured out that if the Oracle datagbase has been configured once manually and I rerun the Chef recipe again and set the bamboo.cfg.xml to setupSelectImport it will then ask me to create a new home directory or import the xml. If the Oracle manual step hasn't been run the it fails because obviously nothing has been created in the database itself. I've modeled quite a few applications (WAS, JBoss, Tomcat, Oracle Server, etc) using Chef cookbooks/recipes and most if not all of them have some sort of scripting available where I can configure things via the command vs. a gui or browser... Sorry to get so wordy I'm just trying to explain my current predicament...


author: Curtis Stewart
body: @Scott Burks - Did you ever have any success with automating the post-install configurations? I'm currently working through a similar automation with Chef.


author: Scott Burks
body: Well from an automation standpoint that's not very dynamic... You'd have to manually change things after that fact that might be specific to a hostname, IP address, etc. We want to be able to create a Bamboo Server install/configure basically from scratch each time with the only thing changine might be the version of the original installation binary. I mean yes we could tar it up dump it on another server and this could be automated but thats not exactly what you want from a continuous integration environment...


author: RianA
body: Hi Scott, there's no difference between Bamboo with data and Bamboo until the step to choose import data or start new home directory. The different would be inside the database. The database would be initialized with data while the other one is not. Hope it helps.


author: Scott Burks
body: The next manual step is creating a new home directory or importing the xml... In the bamboo.cfg.xml the setupStep is setupAdminUser. When I manually click through this step I don't see that the bamoboo.cfg.xml is being updated besides changing setupStep to complete when its done. These config changes to create this admin user have to be configured somewhere I'm assuming. If I can figure that piece out I might be in the home stretch...


author: EddieW
body: You say you can do the license, database , etc - what's left - what part are you stuck on?


author: Jason Monsorno
body: If you already have a template installation, all you need to do is copy the files over and start it up.

comments: author: Scott Burks
body: I guess I'm not quite following on when you say copy the files over and start it up. When I hit the [http://hostname:7903/bamboo](http://ech-10-157-128-37:7903/bamboo) URL it prompts me to create a new home directory or import the xml. I've already figured out that in the bamboo.cfg.xml you can modify the setupStep and setupType along with adding certain property name settings to automate not having to manually click through the license key, database setup, etc. Withouth tarring up the whole installation and untarring on another server I want to be able to completely automate the installation/configuration of the Bamboo Server. As I mentioned I'm automating/modeling Bamboo using Chef... Let me know if this doesn't make sense :-)


author: Jason Monsorno
body: But why wouldn't you tar it up? If you're really opposed to that you could run a diff against an install at this step and an install after to see exactly what has changed.


author: Scott Burks
body: add comment


Tags: bamboo-administration