- #!/bin/bash
-
- # Only tested on Ubuntu 14.04
-
- # Uses information stored in GitBucket git repo on GitHub as defaults.
- # Edit gitbucket.conf before running this
-
- set -e
-
- GITBUCKET_VERSION=2.1
-
- if [ ! -f gitbucket.conf ]; then
- echo "gitbucket.conf not found, aborting"
- exit -3
- fi
- source gitbucket.conf
-
- function createDir {
- if [ ! -d "$1" ]; then
- echo "Making $1 directory."
- sudo mkdir -p "$1"
- fi
- }
-
- if [ "$(which iptables)" ]; then
- echo "Opening port $GITBUCKET_PORT in firewall."
- sudo iptables -A INPUT -p tcp --dport $GITBUCKET_PORT -j ACCEPT
- echo "Please use iptables-persistent:"
- echo " sudo apt-get install iptables-persistent"
- echo "After installed, you can save/reload iptables rules anytime:"
- echo " sudo /etc/init.d/iptables-persistent save"
- echo " sudo /etc/init.d/iptables-persistent reload"
- fi
-
- createDir "$GITBUCKET_HOME"
- createDir "$GITBUCKET_WAR_DIR"
- createDir "$GITBUCKET_DIR"
- createDir "$GITBUCKET_LOG_DIR"
-
- echo "Fetching GitBucket v$GITBUCKET_VERSION and saving as $GITBUCKET_WAR_FILE"
- sudo wget -qO "$GITBUCKET_WAR_FILE" https://github.com/gitbucket/gitbucket/releases/download/$GITBUCKET_VERSION/gitbucket.war
-
- sudo rm -f "$GITBUCKET_LOG_DIR/run.log"
-
- echo "Copying gitbucket.conf to $GITBUCKET_DIR"
- sudo cp gitbucket.conf $GITBUCKET_DIR
- if [ `isUbuntu` ] || [ `isRedHat` ]; then
- sudo cp gitbucket.init "$GITBUCKET_SERVICE"
- # Install gitbucket as a service that starts when system boots
- sudo chown root:root $GITBUCKET_SERVICE
- sudo chmod 755 $GITBUCKET_SERVICE
- sudo update-rc.d "$(basename $GITBUCKET_SERVICE)" defaults 98 02
- echo "Starting GitBucket service"
- sudo $GITBUCKET_SERVICE start
- elif [ `isMac` ]; then
- sudo macosx/makePlist
- echo "Starting GitBucket service"
- sudo cp gitbucket.conf "$GITBUCKET_SERVICE"
- sudo cp gitbucket.init "$GITBUCKET_SERVICE"
- sudo chmod a+x "$GITBUCKET_SERVICE"
- sudo "$GITBUCKET_SERVICE" start
- else
- echo "Don't know how to install this OS"
- exit -2
- fi
-
- if [ $? != 0 ]; then
- less "$GITBUCKET_LOG_DIR/run.log"
- fi