Details
-
Suggestion
-
Resolution: Fixed
-
None
Description
There are a handful of things that either need to be installed in the bamboo installation directory or that live in the installation directory and need to be tweaked. All of these make upgrading from one version to the next not as trivial as it could be. Here are some examples:
- Plugins are copied into <install.dir>/webapp/WEB-INF/lib
- JDBC driver is copied into <install.dir>/webapp/WEB-INF/lib
- Authentication configuration is tweaked and lives in <install.dir>/webapp/WEB-INF/classes/atlassian-user.xml
- The home directory is set in <install.dir>/webapp/WEB-INF/classes/bamboo-init.properties (or BAMBOO_HOME env var)
- Startup JVM args (max memory) in bamboo.sh (set as an ENV variable: BAMBOO_OPTS?)
I'd like to be able to upgrade Bamboo without having to muck with any of these files. I think this could be accomplished fairly easily by externalizing all of these under the BAMBOO_HOME directory. Java 1.6 supports wildcards on the classpath (BAMBOO_HOME/plugins/*.jar and BAMBOO_HOME/lib/*.jar), and I bet there's a less-elegant way to get the same functionality on older JVMs.
In the end, it would be great if a point-release upgrade looked like this:
- Unzip new version into unique directory (e.g. bamboo-1.2.4)
- Stop old bamboo (e.g. bamboo-1.2.0/bamboo.sh stop)
- Start the new bamboo (e.g. bamboo-1.2.4/bamboo.sh start)