[feat] remove cgo and add cmd stderr output

This commit is contained in:
Jay 2021-06-14 22:58:39 +08:00
parent bb3abfe3a7
commit cc128b5b9d
2 changed files with 23 additions and 8 deletions

View File

@ -3,7 +3,7 @@
BIN_NAME := deploy BIN_NAME := deploy
build: build:
go build -buildmode=pie -ldflags '-w -s' -o $(BIN_NAME) ./cmd/svc/main.go CGO_ENABLED=0 go build -buildmode=pie -ldflags '-w -s' -o $(BIN_NAME) ./cmd/svc/main.go
clean: clean:
rm $(BIN_NAME) rm $(BIN_NAME)

View File

@ -52,18 +52,33 @@ func (s *HTTPServer) setHandler(check map[string]string, script string) gin.Hand
if err != nil { if err != nil {
nlog.Warnf("setup pipe out fail: %+v\n", err) nlog.Warnf("setup pipe out fail: %+v\n", err)
} }
errReader, err := cmd.StderrPipe()
if err != nil {
nlog.Warnf("setup pipe out fail: %+v\n", err)
}
if err := cmd.Start(); err != nil { if err := cmd.Start(); err != nil {
nlog.Warnf("start script fail: %+v\n", err) nlog.Warnf("start script fail: %+v\n", err)
} }
in := bufio.NewScanner(reader) go func() {
for in.Scan() { in := bufio.NewScanner(reader)
nlog.Debugf(in.Text()) for in.Scan() {
} nlog.Debugf(in.Text())
if err := in.Err(); err != nil { }
nlog.Warnf("script error: %+v\n", err) if err := in.Err(); err != nil {
} nlog.Warnf("script error: %+v\n", err)
}
}()
go func() {
in := bufio.NewScanner(errReader)
for in.Scan() {
nlog.Debugf(in.Text())
}
if err := in.Err(); err != nil {
nlog.Warnf("script error: %+v\n", err)
}
}()
}() }()