mirror of
				https://github.com/FloatTech/zbpdata.git
				synced 2025-10-31 19:00:51 +09:00 
			
		
		
		
	This reverts commit 0899cf2973c2d7d085b5c63bcfb6f6546761abdb.
This commit is contained in:
		
							parent
							
								
									0899cf2973
								
							
						
					
					
						commit
						6283804e81
					
				| @ -1,23 +0,0 @@ | |||||||
| SHELL=/bin/bash |  | ||||||
| 
 |  | ||||||
| APPNAME         ?= {{.Appname}} |  | ||||||
| PKGNAME         ?= $(APPNAME).tar.gz |  | ||||||
| BUILD_DIR        = $(shell pwd) |  | ||||||
| TEMP_OUTPUT_DIR  = $(shell pwd)/_output/$(APPNAME) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| tar: build package |  | ||||||
| 	@echo -e "======\033[44m all done \033[0m" |  | ||||||
| 
 |  | ||||||
| build: |  | ||||||
| 	go mod tidy |  | ||||||
| 	CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $(BUILD_DIR)/$(APPNAME) ./ |  | ||||||
| 	CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o $(BUILD_DIR)/$(APPNAME).exe ./ |  | ||||||
| package: |  | ||||||
| 	@-rm -rf $(TEMP_OUTPUT_DIR)                    >/dev/null 2>&1 |  | ||||||
| 	mkdir -p $(TEMP_OUTPUT_DIR)                    >/dev/null 2>&1 |  | ||||||
| 	cp -rL $(BUILD_DIR)/$(APPNAME)      $(TEMP_OUTPUT_DIR)/ |  | ||||||
| 	cp -rL $(BUILD_DIR)/$(APPNAME).exe      $(TEMP_OUTPUT_DIR)/ |  | ||||||
| 	cp -rL $(BUILD_DIR)/README.md       $(TEMP_OUTPUT_DIR)/ |  | ||||||
| 	cd $(TEMP_OUTPUT_DIR)/.. && tar -czf $(PKGNAME) $(APPNAME) |  | ||||||
| 
 |  | ||||||
							
								
								
									
										170
									
								
								Qqci/load.tpl
									
									
									
									
									
								
							
							
						
						
									
										170
									
								
								Qqci/load.tpl
									
									
									
									
									
								
							| @ -1,170 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| approot=$(pwd) |  | ||||||
| appname={{.Appname}} |  | ||||||
| appexec={{.Command}} |  | ||||||
| isdaemon=${isdaemon:=true} |  | ||||||
| usemonitor=${usemonitor:=false} |  | ||||||
| 
 |  | ||||||
| ########################################## |  | ||||||
| # main function. |  | ||||||
| ########################################## |  | ||||||
| function main() { |  | ||||||
|     echo "=="$(date  +"%Y-%m-%d %H:%M:%S")"=="   |  | ||||||
|     case "$1" in |  | ||||||
|         start) |  | ||||||
|             $usemonitor && start_by_monitor     || start_directly |  | ||||||
|             ;; |  | ||||||
|         restart|reload) |  | ||||||
|             $usemonitor && restart_by_monitor   || restart_directly |  | ||||||
|             ;; |  | ||||||
|         stop) |  | ||||||
|             $usemonitor && stop_by_monitor      || stop_directly |  | ||||||
|             ;; |  | ||||||
|         install) |  | ||||||
|             $usemonitor && install_with_monitor || install_no_monitor |  | ||||||
|             ;; |  | ||||||
|         *) |  | ||||||
|         echo "Usage: ./load.sh {install|start|stop|restart}" |  | ||||||
|         exit 1 |  | ||||||
|     esac |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ########################################## |  | ||||||
| # install:  |  | ||||||
| #  do something before reload after deploy  |  | ||||||
| ########################################## |  | ||||||
| function install_no_monitor() { |  | ||||||
|     ##### make logs directory at app directory ############## |  | ||||||
|     function isemptydir() { |  | ||||||
|         [ `ls -A "$approot/logs" 2>/dev/null | wc -l` -eq 0 ] && echo true || echo false; |  | ||||||
|     } |  | ||||||
|     if [ ! -d $approot/logs -o $(isemptydir) == true ]; then |  | ||||||
|         mkdir -p /data/logs/${appname}; |  | ||||||
|         rm -rf $approot/logs; |  | ||||||
|         ln -s /data/logs/${appname} $approot/logs; |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| function install_with_monitor() { |  | ||||||
|     ##### do install no monitor actions ##################### |  | ||||||
|     install_no_monitor |  | ||||||
| 
 |  | ||||||
|     ##### get the supervisor config & incloude directory #### |  | ||||||
|     appmonitor=supervisor |  | ||||||
|     monitconf=${SUPERVISOR_CONF:=$(find /etc -name supervisord.conf -type f 2>/dev/null)} |  | ||||||
|     monitconf=${monitconf:=/etc/supervisor/supervisord.conf} |  | ||||||
|     echo "The path of supervisord.conf is: '${monitconf}'" |  | ||||||
|     monitinclude=${SUPERVISOR_INCLUDE:=$(grep '^\[include\]$' $monitconf -A2 | sed -n 's/^files=\([^*]*\)\(\*.conf\)*/\1/p')} |  | ||||||
|     monitinclude=${monitinclude:=/etc/supervisord.d} |  | ||||||
|     echo "The folder of supervisord files is: ${monitincloude}" |  | ||||||
| 
 |  | ||||||
|     ##### install ignore if file exist. ##################### |  | ||||||
|     if [ -f ${monitinclude}/${appname}.ini ]; then |  | ||||||
|        echo "WARNING: install ignore, because of file '${monitinclude}/${appname}.ini' is exist" |  | ||||||
|        exit 0 |  | ||||||
|     fi |  | ||||||
|    |  | ||||||
|     cat >${monitinclude}/${appname}.ini <<-EOF |  | ||||||
| 	[program:${appname}] |  | ||||||
| 	command=${appexec} |  | ||||||
| 	process_name=%(program_name)s |  | ||||||
| 	numprocs=1 |  | ||||||
| 	priority=1 |  | ||||||
| 	directory=${approot} |  | ||||||
| 	autostart=true |  | ||||||
| 	autorestart=true |  | ||||||
| 
 |  | ||||||
| 	stdout_logfile=/data/logs/supervisor/%(program_name)s.log |  | ||||||
| 	stderr_logfile=/data/logs/supervisor/%(program_name)s.err |  | ||||||
| 	 |  | ||||||
| 	stdout_logfile_maxbytes=500MB |  | ||||||
| 	stderr_logfile_maxbytes=500MB |  | ||||||
| 	stdout_logfile_backups=5 |  | ||||||
| 	stderr_logfile_backups=5 |  | ||||||
| EOF |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     ##### update supervisor & show supervisor status ######## |  | ||||||
|     echo "Update ing..." |  | ||||||
|     supervisorctl update |  | ||||||
|     echo "Update done" |  | ||||||
|     echo "-----current supervisor result: -----"; |  | ||||||
|     supervisorctl status ${appname} |  | ||||||
|     echo "-----current supervisor result done  -----"; |  | ||||||
|      |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ########################################## |  | ||||||
| # start:  |  | ||||||
| #   start the application  |  | ||||||
| ########################################## |  | ||||||
| function start_directly() { |  | ||||||
|     if $isdaemon; then |  | ||||||
|         #### start app backgroud ##### |  | ||||||
|         nohup $appexec  & |  | ||||||
|         echo $! > $approot/logs/pid |  | ||||||
|         wait $!  |  | ||||||
|     else |  | ||||||
|         #### start app frontgroud #### |  | ||||||
|         rm -f $approot/logs/stoped |  | ||||||
|         while [ ! -f $approot/logs/stoped ]; do |  | ||||||
|           $appexec  |  | ||||||
|           sleep 30  |  | ||||||
|         done |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function start_by_monitor() { |  | ||||||
|     echo "Start application ..."; |  | ||||||
|     supervisorctl start ${appname}  |  | ||||||
|     sleep 0.2; |  | ||||||
|     echo "-----current supervisor result: -----"; |  | ||||||
|     supervisorctl status ${appname} |  | ||||||
|     echo "-----current supervisor result done  -----"; |  | ||||||
|     echo "START DONE"; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ########################################## |  | ||||||
| # stop:  |  | ||||||
| #   stop the application  |  | ||||||
| ########################################## |  | ||||||
| function stop_directly() { |  | ||||||
|     #### check pid file ############ |  | ||||||
|     if [ ! -f $approot/logs/pid ]; then |  | ||||||
|       echo "ERROR: no pid file: '$approot/logs/pid'" |  | ||||||
|       return 1  |  | ||||||
|     fi |  | ||||||
|     #### check cmdline  ############ |  | ||||||
|     local pid=$(cat $approot/logs/pid) |  | ||||||
|     if [ -z $pid ] || [ "$(/proc/$pid/cmdline)"x == "$appexec"x ]; then |  | ||||||
|       echo "ERROR: pid($pid) is invalid or command line mismatch"; |  | ||||||
|       return 1  |  | ||||||
|     fi |  | ||||||
|     #### do stop  ################## |  | ||||||
|     echo "stoped at: $(date  +'%Y-%m-%d %H:%M:%S')" > $approot/logs/stoped |  | ||||||
|     kill -9 $pid |  | ||||||
| } |  | ||||||
| function stop_by_monitor() { |  | ||||||
|     echo "Stop application ..."; |  | ||||||
|     supervisorctl stop ${appname} |  | ||||||
|     sleep 0.1; |  | ||||||
|     echo "-----current supervisor result: -----"; |  | ||||||
|     supervisorctl status ${appname} |  | ||||||
|     echo "-----current supervisor result done  -----"; |  | ||||||
|     echo "STOP DONE" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ########################################## |  | ||||||
| # restart:  |  | ||||||
| #   restart the application  |  | ||||||
| ########################################## |  | ||||||
| function restart_directly() { |  | ||||||
|     stop_directly && start_directly |  | ||||||
| } |  | ||||||
| function restart_by_monitor() { |  | ||||||
|     stop_by_monitor && start_by_monitor |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ############################################# |  | ||||||
| ############## run ########################## |  | ||||||
| main $@ |  | ||||||
| ############################################# |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user