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…
Reference in New Issue