You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							152 lines
						
					
					
						
							3.4 KiB
						
					
					
				
			
		
		
	
	
							152 lines
						
					
					
						
							3.4 KiB
						
					
					
				#! /bin/sh
 | 
						|
### BEGIN INIT INFO
 | 
						|
# Provides:          gitautodeploy
 | 
						|
# Required-Start:    $remote_fs $syslog $network
 | 
						|
# Required-Stop:     $remote_fs $syslog $network
 | 
						|
# Default-Start:     2 3 4 5
 | 
						|
# Default-Stop:      0 1 6
 | 
						|
# Short-Description: Script to start Autodeploy Git
 | 
						|
# Description:       Autodeploy script for Gitlab
 | 
						|
### END INIT INFO
 | 
						|
 | 
						|
# Author: JA Nache <nache.nache@gmail.com>
 | 
						|
 | 
						|
NAME="git-auto-deploy"
 | 
						|
PATH=/sbin:/usr/sbin:/bin:/usr/bin
 | 
						|
DESC="GitAutodeploy"
 | 
						|
DAEMON="/usr/bin/env python -m /opt/Git-Auto-Deploy/gitautodeploy"
 | 
						|
DAEMON_UID=root
 | 
						|
DAEMON_GID=root
 | 
						|
RUNDIR=/var/run/$NAME
 | 
						|
PIDFILE=/var/run/$NAME.pid
 | 
						|
LOGFILE=/var/log/$NAME.log
 | 
						|
PWD=/opt/Git-Auto-Deploy/
 | 
						|
OPTIONS="--daemon-mode --quiet --pid-file $PIDFILE --log-file $LOGFILE"
 | 
						|
USER=root
 | 
						|
SCRIPTNAME=/etc/init.d/$NAME
 | 
						|
 | 
						|
# Exit if the package is not installed
 | 
						|
#[ -x $DAEMON ] || echo "$NAME is not installed" && exit 0
 | 
						|
 | 
						|
# Load the VERBOSE setting and other rcS variables
 | 
						|
. /lib/init/vars.sh
 | 
						|
 | 
						|
# Define LSB log_* functions.
 | 
						|
. /lib/lsb/init-functions
 | 
						|
 | 
						|
# Read configuration variable file if it is present
 | 
						|
[ -r /etc/default/$NAME ] && . /etc/default/$NAME || ENABLE_GITAUTODEPLOY=yes
 | 
						|
 | 
						|
#
 | 
						|
# Check whether daemon starting is enabled
 | 
						|
#
 | 
						|
check_start_daemon() {
 | 
						|
	if [ ! "$ENABLE_GITAUTODEPLOY" = "yes" ]; then
 | 
						|
		[ "$VERBOSE" != no ] && \
 | 
						|
			log_warning_msg "Not starting gitautodeploy, disabled via /etc/default/gitautodeploy"
 | 
						|
		return 1
 | 
						|
	else
 | 
						|
		return 0
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
#
 | 
						|
# Function that starts the daemon/service
 | 
						|
#
 | 
						|
do_start()
 | 
						|
{
 | 
						|
	# Return
 | 
						|
	#   0 if daemon has been started
 | 
						|
	#   1 if daemon was already running
 | 
						|
	#   2 if daemon could not be started
 | 
						|
 | 
						|
	if [ ! -d $RUNDIR ]; then
 | 
						|
		mkdir $RUNDIR
 | 
						|
	fi
 | 
						|
	
 | 
						|
	if ! dpkg-statoverride --list $dir >/dev/null 2>&1; then
 | 
						|
		chown $DAEMON_UID:$DAEMON_GID $RUNDIR
 | 
						|
		chmod g-w,o-rwx $RUNDIR
 | 
						|
	fi
 | 
						|
 | 
						|
	start-stop-daemon --start --quiet --chdir $PWD --pidfile $PIDFILE --startas $DAEMON \
 | 
						|
		--name $NAME --test > /dev/null \
 | 
						|
		|| return 1
 | 
						|
	start-stop-daemon --start --quiet --chdir $PWD --pidfile $PIDFILE --startas $DAEMON \
 | 
						|
		--name $NAME --umask 0027 --chuid $DAEMON_UID:$DAEMON_GID -- $OPTIONS \
 | 
						|
		|| return 2
 | 
						|
}
 | 
						|
 | 
						|
#
 | 
						|
# Function that stops the daemon/service
 | 
						|
#
 | 
						|
do_stop()
 | 
						|
{
 | 
						|
	# Return
 | 
						|
	#   0 if daemon has been stopped
 | 
						|
	#   1 if daemon was already stopped
 | 
						|
	#   2 if daemon could not be stopped
 | 
						|
	#   other if a failure occurred
 | 
						|
	start-stop-daemon --stop --signal 6 --retry 30 --pidfile $PIDFILE 
 | 
						|
}
 | 
						|
 | 
						|
#
 | 
						|
# Function that reload the daemon/service
 | 
						|
#
 | 
						|
do_reload()
 | 
						|
{
 | 
						|
	start-stop-daemon --stop -s 1 --pidfile $PIDFILE
 | 
						|
}
 | 
						|
 | 
						|
case "$1" in
 | 
						|
  start)
 | 
						|
	check_start_daemon || exit 0
 | 
						|
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
 | 
						|
	do_start
 | 
						|
	case "$?" in
 | 
						|
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
 | 
						|
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
 | 
						|
	esac
 | 
						|
  ;;
 | 
						|
  stop)
 | 
						|
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
 | 
						|
	do_stop
 | 
						|
	case "$?" in
 | 
						|
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
 | 
						|
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
 | 
						|
	esac
 | 
						|
	;;
 | 
						|
  status)
 | 
						|
	status_of_proc -p $PIDFILE "python" "$DAEMON" && exit 0 || exit $?
 | 
						|
 | 
						|
	;;
 | 
						|
  reload)
 | 
						|
	do_reload
 | 
						|
	;;
 | 
						|
  restart|force-reload)
 | 
						|
	log_daemon_msg "Restarting $DESC" "$NAME"
 | 
						|
	do_stop
 | 
						|
	case "$?" in
 | 
						|
	  0|1)
 | 
						|
		do_start
 | 
						|
		case "$?" in
 | 
						|
			0) log_end_msg 0 ;;
 | 
						|
			1) log_end_msg 1 ;; # Old process is still running
 | 
						|
			*) log_end_msg 1 ;; # Failed to start
 | 
						|
		esac
 | 
						|
		;;
 | 
						|
	  *)
 | 
						|
		# Failed to stop
 | 
						|
		log_end_msg 1
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
	;;
 | 
						|
  *)
 | 
						|
	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
 | 
						|
	exit 3
 | 
						|
	;;
 | 
						|
esac
 | 
						|
 | 
						|
:
 | 
						|
 |