Commit 91dd310d authored by 陈子龙's avatar 陈子龙

自动化运维 立即执行 fix

parent fa231ac6
...@@ -185,19 +185,19 @@ func (t *TaskManageSvc) ListTaskManage(req request.ListTaskManageReq) (total int ...@@ -185,19 +185,19 @@ func (t *TaskManageSvc) ListTaskManage(req request.ListTaskManageReq) (total int
return return
} }
func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]interface{}, err error) { func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (err error) {
if req.ScriptUrl != "" { if req.ScriptUrl != "" {
minioClient, err := client.GetMinioConnect() minioClient, err := client.GetMinioConnect()
if err != nil { if err != nil {
return nil, resp.DbConnectError.WithError(err) return resp.DbConnectError.WithError(err)
} }
object, err := minioClient.GetObject(context.Background(), conf.Options.MinioBucket, req.ScriptUrl, minio.GetObjectOptions{}) object, err := minioClient.GetObject(context.Background(), conf.Options.MinioBucket, req.ScriptUrl, minio.GetObjectOptions{})
if err != nil { if err != nil {
return nil, resp.FileExecError.WithError(err) return resp.FileExecError.WithError(err)
} }
obj, err := io.ReadAll(object) obj, err := io.ReadAll(object)
if err != nil { if err != nil {
return nil, resp.FileExecError.WithError(err) return resp.FileExecError.WithError(err)
} }
req.Script = string(obj) req.Script = string(obj)
} }
...@@ -225,24 +225,24 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i ...@@ -225,24 +225,24 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i
//写入执行脚本 //写入执行脚本
f2, err := os.Create("/etc/ansible/ansible.yml") f2, err := os.Create("/etc/ansible/ansible.yml")
if err != nil { if err != nil {
return nil, resp.FileExecError.WithError(err) return resp.FileExecError.WithError(err)
} }
defer f2.Close() defer f2.Close()
_, err = f2.Write([]byte(req.Script)) _, err = f2.Write([]byte(req.Script))
if err != nil { if err != nil {
return nil, resp.FileExecError.WithError(err) return resp.FileExecError.WithError(err)
} }
//写入额外yml参数 //写入额外yml参数
if req.Type == 1 { if req.Type == 1 {
//写入执行脚本 //写入执行脚本
f3, err := os.Create("/etc/ansible/ansible_extra.yml") f3, err := os.Create("/etc/ansible/ansible_extra.yml")
if err != nil { if err != nil {
return nil, resp.FileExecError.WithError(err) return resp.FileExecError.WithError(err)
} }
defer f3.Close() defer f3.Close()
_, err = f3.Write([]byte(req.Value)) _, err = f3.Write([]byte(req.Value))
if err != nil { if err != nil {
return nil, resp.FileExecError.WithError(err) return resp.FileExecError.WithError(err)
} }
req.Value = fmt.Sprintf("@/etc/ansible/ansible_extra.yml") req.Value = fmt.Sprintf("@/etc/ansible/ansible_extra.yml")
} }
...@@ -268,8 +268,16 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i ...@@ -268,8 +268,16 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i
//执行命令 //执行命令
err = cmd.Run() err = cmd.Run()
if err != nil { if err != nil {
cmd.Stderr = os.Stderr
fmt.Println(cmd.Stderr)
err = resp.FileExecError.WithError(err)
return return
} }
fmt.Println("执行成功")
fmt.Println("stdout:", stdout)
//cmd.Stdout = os.Stdout
//cmd.Stderr = os.Stderr
//stdout, err := cmd.StdoutPipe() //stdout, err := cmd.StdoutPipe()
//if err != nil { //if err != nil {
// fmt.Println("执行出错:", err) // fmt.Println("执行出错:", err)
...@@ -280,8 +288,6 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i ...@@ -280,8 +288,6 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i
// log.Fatal(err) // log.Fatal(err)
//} //}
fmt.Println("执行成功")
fmt.Println("stdout:", stdout)
//outputBuf := bufio.NewReader(stdout) //outputBuf := bufio.NewReader(stdout)
//output, isPrefix, err := outputBuf.ReadLine() //output, isPrefix, err := outputBuf.ReadLine()
//output, err := cmd.Output() //output, err := cmd.Output()
...@@ -293,7 +299,7 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i ...@@ -293,7 +299,7 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]i
//data["step"] = isPrefix //data["step"] = isPrefix
//data["output"] = string(output) //data["output"] = string(output)
//data["output"] = string(output) //data["output"] = string(output)
return data, nil return nil
} }
func GetOutput(reader *bufio.Reader) { func GetOutput(reader *bufio.Reader) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment