The Gitblit Express distribution can be copied to the root of your RedHat OpenShift application repository. Gitblit Express is an exploded WAR file with all appropriate dependencies bundled.
You should delete the pom.xml
file and the src
folder from your application repository
as Gitblit Express is not a source distribution to be built with Maven on OpenShift.
Gitblit automatically adjusts itself to running on OpenShift. Repositories, users, federation proposals, setting overrides, and Groovy push scripts are stored in OPENSHIFT_DATA_DIR.
It is recommended to enable all RPC settings in the web.xml
file to allow remote
administration and, more importantly, configuration of your Gitblit Express
installation using the Gitblit Manager.
It is also recommended to set web.forwardSlashCharacter to ! because OpenShift runs on JBoss/Tomcat behind a proxy, neither of which are friendly to embedded forward-slashes.
Please do not change the following settings unless you know exactly what you are doing:
- git.repositoriesFolder
- groovy.scriptsFolder
- federation.proposalsFolder
- realm.userService (for standard users.conf)
Additionally, it is recommended to force your Gitblit installation to cleanup up older versions on your OpenShift filesystem to maximize available space for your repositories.
Append the following command to your ./openshift/action_hooks/build file:
rm -fr $OPENSHIFT_APP_DIR/jbossas-7.0/standalone/tmp/vfs/*
Lastly, you may want to play with the heap and permgen settings of your Gitblit instance because the default heap for the JVM is 95 MB, which may be a little tight.
To do that you will have to login to your account via ssh:
and then you will have to manipulate the -Xmx and -XX:MaxPermSize values.
vi $OPENSHIFT_APP_DIR/jbossas-7.0/bin/standalone.conf
ctl_app restart
OpenShift currently allows 300MB of memory per application which includes ssh access, JVM, etc. The Gitblit demo hosted on OpenShift Express operates with -Xmx160m and -XX:MaxPermSize=90m.