Browse Source

Remove the OpenShift Express build

tags/v1.6.0
James Moger 10 years ago
parent
commit
613b0a899e
5 changed files with 1 additions and 221 deletions
  1. 1
    73
      build.xml
  2. 0
    56
      src/site/openshift.mkd
  3. 0
    64
      src/site/setup_express.mkd
  4. 0
    5
      src/site/siteindex.mkd
  5. 0
    23
      src/site/upgrade_express.mkd

+ 1
- 73
build.xml View File

@@ -48,7 +48,6 @@
<property name="manager.zipfile" value="manager-${project.version}.zip" />
<property name="authority.zipfile" value="authority-${project.version}.zip" />
<property name="gbapi.zipfile" value="gbapi-${project.version}.zip" />
<property name="express.zipfile" value="express-${project.version}.zip" />
<property name="maven.directory" value="${basedir}/../gitblit-maven" />
<!-- Download links -->
@@ -309,61 +308,6 @@
</target>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Build a Gitblit filesystem for deployment to RedHat OpenShift Express
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<target name="buildExpress" depends="compile" description="Build exploded WAR file suitable for deployment to OpenShift Express">
<echo>Building Gitblit Express for RedHat OpenShift ${project.version}</echo>
<local name="express.dir" />
<property name="express.dir" value="${project.outputDirectory}/express" />
<delete dir="${express.dir}" />
<!-- Create the OpenShift filesystem -->
<local name="deployments.root" />
<property name="deployments.root" value="${express.dir}/deployments/ROOT.war"/>
<mkdir dir="${deployments.root}" />
<touch file="${express.dir}/deployments/ROOT.war.dodeploy" />
<local name="webinf" />
<property name="webinf" value="${deployments.root}/WEB-INF" />
<!-- Prepare the data directory -->
<prepareDataDirectory toDir="${webinf}/data" />
<!-- Build the Express web.xml from the prototype web.xml and gitblit.properties -->
<!-- THIS FILE IS NOT OVERRIDDEN ONCE IT IS BUILT!!! -->
<mx:webxml sourcefile="${project.src.dir}/WEB-INF/web.xml" destfile="${webinf}/web.xml"
propertiesFile="${project.distrib.dir}/data/gitblit.properties"
skip="server.*">
<replace token="@gb.version@" value="${project.version}" />
</mx:webxml>
<!-- Gitblit classes -->
<mx:jar destfile="${webinf}/lib/gitblit.jar" includeresources="false" />
<!-- Build Express Zip file -->
<mx:zip basedir="${express.dir}" destfile="${project.targetDirectory}/${express.zipfile}">
<fileset dir="${basedir}">
<include name="LICENSE" />
<include name="NOTICE" />
</fileset>
<!-- README -->
<zipfileset fullpath="README.gitblit" file="${project.siteSourceDirectory}/openshift.mkd" />
<!-- resources -->
<zipfileset prefix="deployments/ROOT.war" dir="${project.resources.dir}">
<exclude name="thumbs.db" />
<exclude name="*.mkd" />
</zipfileset>
<!-- include "war" tagged dependencies -->
<dependencies prefix="deployments/ROOT.war/WEB-INF/lib" tag="war" />
</mx:zip>
</target>
<!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Build the stand-alone, Gitblit Manager
@@ -542,11 +486,6 @@
<page name="upgrade WAR" src="upgrade_war.mkd" />
</menu>
<divider />
<menu name="Gitblit Express" pager="true" pagerPlacement="bottom" pagerLayout="justified">
<page name="setup Express" src="setup_express.mkd" />
<page name="upgrade Express" src="upgrade_express.mkd" />
</menu>
<divider />
<menu name="Server Configuration" pager="true" pagerPlacement="bottom" pagerLayout="justified">
<page name="administration" src="administration.mkd" />
<page name="authentication" src="setup_authentication.mkd" />
@@ -604,7 +543,6 @@
<link name="Gitblit GO (Windows)" src="${gc.url}gitblit-${project.releaseVersion}.zip" />
<link name="Gitblit GO (Linux/OSX)" src="${gc.url}gitblit-${project.releaseVersion}.tar.gz" />
<link name="Gitblit WAR" src="${gc.url}gitblit-${project.releaseVersion}.war" />
<link name="Gitblit Express" src="${gc.url}express-${project.releaseVersion}.zip" />
<divider />
<link name="Gitblit Manager" src="${gc.url}manager-${project.releaseVersion}.zip" />
<link name="Federation Client" src="${gc.url}fedclient-${project.releaseVersion}.zip" />
@@ -704,7 +642,7 @@
Build all binaries and site
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<target name="buildAll" depends="buildGO,buildWAR,buildExpress,buildFederationClient,buildManager,buildApiLibrary,buildSite" />
<target name="buildAll" depends="buildGO,buildWAR,buildFederationClient,buildManager,buildApiLibrary,buildSite" />
<!--
@@ -757,11 +695,6 @@
source="${project.targetDirectory}/${gbapi.zipfile}"
target="gbapi-${project.version}.zip" />
<!-- Upload Gitblit Express for RedHat OpenShift -->
<bintrayUpload
source="${project.targetDirectory}/${express.zipfile}"
target="express-${project.version}.zip" />
</target>
@@ -863,11 +796,6 @@
<page name="upgrade WAR" src="upgrade_war.mkd" />
</menu>
<divider />
<menu name="Gitblit Express" pager="true" pagerPlacement="bottom" pagerLayout="justified">
<page name="setup Express" src="setup_express.mkd" />
<page name="upgrade Express" src="upgrade_express.mkd" />
</menu>
<divider />
<menu name="Server Configuration" pager="true" pagerPlacement="bottom" pagerLayout="justified">
<page name="administration" src="administration.mkd" />
<page name="authentication" src="setup_authentication.mkd" />

+ 0
- 56
src/site/openshift.mkd View File

@@ -1,56 +0,0 @@
## Gitblit on RedHat's OpenShift Cloud Service
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:
ssh hashcode@app-domain.rhcloud.com
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.
For more detailed instructions on how to setup and deploy an OpenShift application
please see this excellent turorial:
https://github.com/opensas/play-demo/wiki/Step-12.5---deploy-to-openshift

+ 0
- 64
src/site/setup_express.mkd View File

@@ -1,64 +0,0 @@
## Gitblit on RedHat's OpenShift Cloud Service
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*.
### Recommended Settings
You should disable the git daemon by setting *git.daemonPort=0*.
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)
### Native Git Failures
Unfortunately, sometime in early 2013 RedHat changed their SSL certificate such that cloning from/pushing to Gitblit Express over https fails due to an SNI (server name indication) TLS alert. There is no known workaround for native git and https.
However, if your git client is JGit-based, like Eclipse/EGit, then you can workaround this problem and happily push/clone using https and OpenShift.
Luckily, Java 6-based clients ignore SNI alerts but when using Java 7-based clients, SNI checking is enabled by default. You can disable SNI alerts by specifying the JVM system parameter `-Djsse.enableSNIExtension=false` when your Java-based client launches.
For Eclipse, you can append `-Djsse.enableSNIExtension=false` to your *eclipse.ini* file.
### Heap and PermGen
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:
ssh hashcode@app-domain.rhcloud.com
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.
For more detailed instructions on how to setup and deploy an OpenShift application
please see this excellent turorial:
[Deploying to OpenShift](https://github.com/opensas/play-demo/wiki/Step-12.5---deploy-to-openshift)

+ 0
- 5
src/site/siteindex.mkd View File

@@ -4,7 +4,6 @@
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-success" href="%GCURL%gitblit-${project.releaseVersion}.zip">Download Gitblit GO (Windows)</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-success" href="%GCURL%gitblit-${project.releaseVersion}.tar.gz">Download Gitblit GO (Linux/OSX)</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-danger" href="%GCURL%gitblit-${project.releaseVersion}.war">Download Gitblit WAR</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-info" href="%GCURL%express-${project.releaseVersion}.zip">Download Gitblit Express</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-primary" href="%GCURL%manager-${project.releaseVersion}.zip">Download Gitblit Manager</a></div>
<a href='https://bintray.com/gitblit/releases/gitblit/view?source=watch' alt='Get automatic notifications about new "stable" versions'><img src='https://www.bintray.com/docs/images/bintray_badge_color.png'></a>
</div>
@@ -41,9 +40,6 @@ This is what you should download if you want to go from zero to Git in less than
### WAR: For Your Servlet Container
*Gitblit WAR* is what you should download if you already have a servlet container available that you wish to use. Jetty 6/7/8 and Tomcat 6/7 are known to work. Generally, any Servlet 2.5 or Servlet 3.0 container should work.
### Express: For the Cloud
*Gitblit Express* is a prepared distribution for [RedHat's OpenShift][rhcloud] cloud service.
### You decide how to use Gitblit
Gitblit can be used as a dumb repository viewer with no administrative controls or user accounts.
@@ -81,4 +77,3 @@ Gitblit requires a Java 7 Runtime Environment (JRE) or a Java 7 Development Kit
[jgit]: http://eclipse.org/jgit "Eclipse JGit Site"
[git]: http://git-scm.com "Official Git Site"
[rhcloud]: https://openshift.redhat.com/app "RedHat OpenShift"

+ 0
- 23
src/site/upgrade_express.mkd View File

@@ -1,23 +0,0 @@
## Upgrading Gitblit Express
1. Make a backup copy of */deployments/ROOT.war/WEB-INF/web.xml*
2. Delete your */deployments/ROOT.war* and then copy the new */deployments/ROOT.war* from the archive.
3. Diff your backup copy of web.xml with the pristine one you copied as part of */deployments/ROOT.war* and apply any necessary changes.
These steps are necessary to ensure that you end up using the specified libraries and resources for the new version. Otherwise you could end up with a hybrid filesystem that would make it difficult to troubleshoot. It is important to note that the web.xml file contains both your default settings AND application configuration. Not updating the web.xml is just a likely to create problems as making a hybrid filesystem.
### 1.3.1 web.xml
- Changed *WicketFilter* to *GitblitWicketFilter* to handle optional, smart cache-control updates (issue-274)
### 1.3.0 web.xml
- Added LogoServlet
- Added SparkleShareInviteServlet
- Added EnforceAuthenticationFilter
- Moved GitServlet
### 1.4.0 web.xml
- Changed baseFolder from a context-parameter to a JNDI env-entry
- Added pt servlet

Loading…
Cancel
Save