최초 deploy후 arg가 안보이는 문제 수정

This commit is contained in:
2023-05-30 16:29:14 +09:00
parent 2f30d4cbc0
commit 9b9c3eaa4d

View File

@ -14,6 +14,7 @@ import (
"path/filepath" "path/filepath"
"regexp" "regexp"
"runtime/debug" "runtime/debug"
"strings"
"syscall" "syscall"
"time" "time"
@ -175,6 +176,7 @@ func prepareProcessLaunch(req *shared.StartProcessRequest) *procmeta {
fi, err := os.Stat(verpath) fi, err := os.Stat(verpath)
if err == nil && fi.IsDir() { if err == nil && fi.IsDir() {
args[0] = "./" + path.Clean(strings.TrimPrefix(args[0], "/"))
cmd := exec.Command(args[0], args[1:]...) cmd := exec.Command(args[0], args[1:]...)
cmd.Dir = verpath cmd.Dir = verpath
stdin, _ := cmd.StdinPipe() stdin, _ := cmd.StdinPipe()
@ -341,6 +343,13 @@ func (hc *houstonClient) startChildProcess(req *shared.StartProcessRequest) erro
} }
// launch가 성공하면 args 저장. this and parent folder // launch가 성공하면 args 저장. this and parent folder
vers := hc.deploys[req.Name]
for _, ver := range vers {
if ver.Version == req.Version {
ver.Args = meta.cmd.Args
}
}
if argfile, err := os.Create(path.Join(req.Name, "@args")); err == nil { if argfile, err := os.Create(path.Join(req.Name, "@args")); err == nil {
enc := json.NewEncoder(argfile) enc := json.NewEncoder(argfile)
enc.Encode(meta.cmd.Args) enc.Encode(meta.cmd.Args)