bugfix double kill process, update scripts
This commit is contained in:
		
							parent
							
								
									fd361fd43a
								
							
						
					
					
						commit
						f78fafd3c4
					
				| @ -1,18 +1,22 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| 
 | 
 | ||||||
| for x in $@; do | # These environment variables are set by the caller | ||||||
|     echo "$x" |  | ||||||
| done |  | ||||||
| 
 |  | ||||||
| my_envs='GIT_REF_NAME | my_envs='GIT_REF_NAME | ||||||
| GIT_REF_TYPE | GIT_REF_TYPE | ||||||
|  | GIT_REPO_ID | ||||||
| GIT_REPO_OWNER | GIT_REPO_OWNER | ||||||
| GIT_REPO_NAME | GIT_REPO_NAME | ||||||
| GIT_CLONE_URL' | GIT_CLONE_URL' | ||||||
| 
 | 
 | ||||||
| echo 'Doing "work" ...' | base_dir="$(dirname "$(readlink -f "$0")")" | ||||||
| sleep 5 | if [[ -f "scripts/${GIT_REPO_ID}/deploy.sh" ]] | ||||||
| 
 | then | ||||||
| for x in $my_envs; do |   echo "Running deplay script for ${GIT_REPO_ID}" | ||||||
|  |   bash "scripts/${GIT_REPO_ID}/deploy.sh" | ||||||
|  | else | ||||||
|  |   echo "Nothing to do for ${GIT_REPO_ID}" | ||||||
|  |   for x in $my_envs; do | ||||||
|       echo "$x=${!x}" |       echo "$x=${!x}" | ||||||
| done |   done | ||||||
|  |   sleep 1 | ||||||
|  | fi | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								main.go
									
									
									
									
									
								
							| @ -10,6 +10,7 @@ import ( | |||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"os" | 	"os" | ||||||
| 	"os/exec" | 	"os/exec" | ||||||
|  | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
| 	"git.ryanburnette.com/ryanburnette/git-deploy/assets" | 	"git.ryanburnette.com/ryanburnette/git-deploy/assets" | ||||||
| @ -316,11 +317,18 @@ func runHook(hook webhooks.Ref) { | |||||||
| 	} | 	} | ||||||
| 	cmd := exec.Command("bash", args...) | 	cmd := exec.Command("bash", args...) | ||||||
| 
 | 
 | ||||||
|  | 	// https://git.example.com/example/project.git | ||||||
|  | 	//      => git.example.com/example/project | ||||||
|  | 	repoID := strings.TrimPrefix(hook.HTTPSURL, "https://") | ||||||
|  | 	repoID = strings.TrimPrefix(repoID, "https://") | ||||||
|  | 	repoID = strings.TrimSuffix(repoID, ".git") | ||||||
|  | 
 | ||||||
| 	env := os.Environ() | 	env := os.Environ() | ||||||
| 	envs := []string{ | 	envs := []string{ | ||||||
| 		"GIT_DEPLOY_JOB_ID=" + jobID, | 		"GIT_DEPLOY_JOB_ID=" + jobID, | ||||||
| 		"GIT_REF_NAME=" + hook.RefName, | 		"GIT_REF_NAME=" + hook.RefName, | ||||||
| 		"GIT_REF_TYPE=" + hook.RefType, | 		"GIT_REF_TYPE=" + hook.RefType, | ||||||
|  | 		"GIT_REPO_ID=" + repoID, | ||||||
| 		"GIT_REPO_OWNER=" + hook.Owner, | 		"GIT_REPO_OWNER=" + hook.Owner, | ||||||
| 		"GIT_REPO_NAME=" + hook.Repo, | 		"GIT_REPO_NAME=" + hook.Repo, | ||||||
| 		"GIT_CLONE_URL=" + hook.HTTPSURL, | 		"GIT_CLONE_URL=" + hook.HTTPSURL, | ||||||
| @ -349,8 +357,10 @@ func runHook(hook webhooks.Ref) { | |||||||
| 
 | 
 | ||||||
| 	go func() { | 	go func() { | ||||||
| 		log.Printf("git-deploy job for %s#%s started\n", hook.HTTPSURL, hook.RefName) | 		log.Printf("git-deploy job for %s#%s started\n", hook.HTTPSURL, hook.RefName) | ||||||
| 		_ = cmd.Wait() | 		if err := cmd.Wait(); nil != err { | ||||||
| 		killers <- jobID | 			log.Printf("git-deploy job for %s#%s exited with error: %v", hook.HTTPSURL, hook.RefName, err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
| 		log.Printf("git-deploy job for %s#%s finished\n", hook.HTTPSURL, hook.RefName) | 		log.Printf("git-deploy job for %s#%s finished\n", hook.HTTPSURL, hook.RefName) | ||||||
| 		// TODO check for backlog | 		// TODO check for backlog | ||||||
| 	}() | 	}() | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user