Newer
Older
gitbucket_jkp / contrib / gitbucket.init
@Mike Slinn Mike Slinn on 29 Jul 2014 2 KB Works under Ubuntu and Mac OS/X
  1. #!/bin/bash
  2. #
  3. # RedHat: /etc/rc.d/init.d/gitbucket
  4. # Ubuntu: /etc/init.d/gitbucket
  5. # Mac OS/X: /Library/StartupItems/GitBucket
  6. #
  7. # Starts the GitBucket server
  8. #
  9. # chkconfig: 345 60 40
  10. # description: Run GitBucket server
  11. # processname: java
  12.  
  13. set -e
  14.  
  15. [ -f /etc/rc.d/init.d/functions ] && source /etc/rc.d/init.d/functions # RedHat
  16. [ -f /etc/rc.common ] && source /etc/rc.common # Mac OS/X
  17.  
  18. # Default values
  19. GITBUCKET_HOME=/var/lib/gitbucket
  20. GITBUCKET_WAR_FILE=/usr/share/gitbucket/lib/gitbucket.war
  21.  
  22. # Pull in cq settings
  23. [ -f /etc/sysconfig/gitbucket ] && source /etc/sysconfig/gitbucket # RedHat
  24. [ -f gitbucket.conf ] && source gitbucket.conf # For all systems
  25.  
  26. # Location of the log and PID file
  27. LOG_FILE=$GITBUCKET_LOG_DIR/run.log
  28. PID_FILE=/var/run/gitbucket.pid
  29.  
  30. RED='\033[1m\E[37;41m'
  31. GREEN='\033[1m\E[37;42m'
  32. OFF='\E[0m'
  33.  
  34. if [ -z "$(which success)" ]; then
  35. function success {
  36. printf "%b\n" "$GREEN $* $OFF"
  37. }
  38. fi
  39. if [ -z "$(which failure)" ]; then
  40. function failure {
  41. printf "%b\n" "$RED $* $OFF"
  42. }
  43. fi
  44.  
  45. RETVAL=0
  46.  
  47. start() {
  48. echo -n $"Starting GitBucket server: "
  49.  
  50. START_OPTS=
  51. if [ $GITBUCKET_PORT ]; then
  52. START_OPTS="${START_OPTS} --port=${GITBUCKET_PORT}"
  53. fi
  54. if [ $GITBUCKET_PREFIX ]; then
  55. START_OPTS="${START_OPTS} --prefix=${GITBUCKET_PREFIX}"
  56. fi
  57. if [ $GITBUCKET_HOST ]; then
  58. START_OPTS="${START_OPTS} --host=${GITBUCKET_HOST}"
  59. fi
  60.  
  61. GITBUCKET_HOME="${GITBUCKET_HOME}" java $GITBUCKET_JVM_OPTS -jar $GITBUCKET_WAR_FILE $START_OPTS >>$LOG_FILE 2>&1 &
  62. RETVAL=$?
  63.  
  64. echo $! > $PID_FILE
  65.  
  66. if [ $RETVAL -eq 0 ] ; then
  67. success "Success"
  68. else
  69. failure "Exit code $RETVAL"
  70. fi
  71.  
  72. echo
  73. return $RETVAL
  74. }
  75.  
  76.  
  77. stop() {
  78. echo -n $"Stopping GitBucket server: "
  79.  
  80. # Run the Java process
  81. kill $(cat $PID_FILE 2>/dev/null) >>$LOG_FILE 2>&1
  82. RETVAL=$?
  83.  
  84. if [ $RETVAL -eq 0 ] ; then
  85. rm -f $PID_FILE
  86. success "GitBucket stopping"
  87. else
  88. failure "GitBucket stopping"
  89. fi
  90.  
  91. echo
  92. return $RETVAL
  93. }
  94.  
  95.  
  96. restart() {
  97. stop
  98. start
  99. }
  100.  
  101. ## MacOS proxies for System V service hooks:
  102. StartService() {
  103. start
  104. }
  105.  
  106. StopService() {
  107. stop
  108. }
  109.  
  110. RestartService() {
  111. restart
  112. }
  113.  
  114.  
  115. if [ `isMac` ]; then
  116. RunService "$1"
  117. else
  118. case "$1" in
  119. start)
  120. start
  121. ;;
  122. stop)
  123. stop
  124. ;;
  125. restart)
  126. restart
  127. ;;
  128. status)
  129. status -p $PID_FILE java
  130. RETVAL=$?
  131. ;;
  132. *)
  133. echo $"Usage: $0 [start|stop|restart|status]"
  134. RETVAL=2
  135. esac
  136. exit $RETVAL
  137. fi
  138.