Trying to squeeze everything into a single Resin 3.1.9 container makes things pop up every now and then, that need to be worked around. This time around I decided to read documentation first, putting the bits and pieces of information together to achieve:
- JIRA +SSO + GreenHopper
- Confluence +SSO
- Fisheye Setup +SSO
- Integrations JIRA-Confluence, JIRA-Fisheye
But before, some general recommendations for Resin:
Tune the container a little bit
It’s recommendable to tune the container a little bit, so you don't run into problems with memory and GC.
It’s recommendable to tune the container a little bit, so you don't run into problems with memory and GC.
References:
I finally decided to use the following:
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=256m</jvm-arg>
<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg>
<jvm-arg>-XX:+CMSIncrementalMode</jvm-arg>
Note: This is not a general recommendation; I'd really suggest to investigate and match these parameters to your specific needs and hardware.
Setup of JIRA
Following the some of the recommendations for JIRA 3, I modified the transaction factory attribute in entityengine.xml and switched the compiler:<javac compiler="javac" args="-source 1.5"/>I also used the same isolated setup for the JAXP factories, using Xerces, Xalan and WoodStox. The only problem here is the fact that there is no Xalan in JIRA, but the plugin manager seems to require XSLT Transforms:
2009-10-28 12:08:29,852 main FATAL [atlassian.jira.upgrade.ConsistencyLauncher] A fatal error occured during initialisation. JIRA has been locked.
com.atlassian.jira.InfrastructureException: Error occurred while starting Plugin Manager. Provider org.apache.xalan.processor.TransformerFactoryImpl not found
at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:1281)
at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:224)
at com.atlassian.jira.ComponentManager.start(ComponentManager.java:210)
at com.atlassian.jira.upgrade.ConsistencyLauncher.launchConsistencyChecker(ConsistencyLauncher.java:63)
at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:42)
at com.caucho.server.webapp.WebApp.start(WebApp.java:1866)
SSO and Greenhopper didn't cause any troubles, neither did Confluence, which came up on the first attempt (already applying most of the bits of information and experience with the rest of the bunch).
Sidenote (Critical):
I have one concern about Crowd Integration that I still need to investigate, which is the remote address. Using a home setup, I don't have a fixed IP address; however, I have configured a Dynamic IP Service, so that I can share my box anyway over the Internet. That said, somehow the clients always seem to resolve the actual IP address (the one that was assigned by the ISP), and this is going to cause me some major headaches if I am going to be suddenly blocked out of all my services because I was assigned a new IP.
Fisheye went straight as well, and to be able to integrate it fully, I am using a proxy webapp in Resin (so everything is nicely in place and no other servers are required). Note here that if you want SSO to work, you need to set trusted proxies in the Crowd Console -> Administration -> Trusted Proxies sidebar.
Setting up the integrations and gadgets in JIRA isn't really a big issue any longer, especially if you already have some experience with Atlassian Tools.
Time for "District 9" and some family life.
Farewell for today to all Dragon Quest participants.....and may the force be with you.


0 comments:
Post a Comment