Add stdout trace for container build
This commit is contained in:
parent
f75c70db94
commit
7dddf71d93
28
container.go
28
container.go
@ -57,10 +57,32 @@ func (c container) Build(imagePath string) (output string, err error) {
|
|||||||
args = append(args, "-t", c.name, imagePath)
|
args = append(args, "-t", c.name, imagePath)
|
||||||
|
|
||||||
cmd := exec.Command("docker", args...)
|
cmd := exec.Command("docker", args...)
|
||||||
log.Debug().Msgf("%v", cmd)
|
|
||||||
|
|
||||||
rawOutput, err := cmd.CombinedOutput()
|
flog := log.With().
|
||||||
output = string(rawOutput)
|
Str("command", fmt.Sprintf("%v", cmd)).
|
||||||
|
Logger()
|
||||||
|
|
||||||
|
stdout, err := cmd.StdoutPipe()
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
cmd.Stderr = cmd.Stdout
|
||||||
|
|
||||||
|
err = cmd.Start()
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
scanner := bufio.NewScanner(stdout)
|
||||||
|
for scanner.Scan() {
|
||||||
|
m := scanner.Text()
|
||||||
|
output += m + "\n"
|
||||||
|
flog.Trace().Str("stdout", m).Msg("")
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
err = cmd.Wait()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user