From edf94cbca98c19c108f8bffa9466d3ad8c9c6990 Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Sat, 6 Jul 2024 18:46:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9B=86=E6=88=90run?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=84=9A=E6=9C=AC=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/cid.go | 7 ++++--- handler/cid.go | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/dao/cid.go b/dao/cid.go index 3c4102d..ef30c12 100644 --- a/dao/cid.go +++ b/dao/cid.go @@ -18,6 +18,7 @@ type CIDRunLog struct { gorm.Model CID_id int `gorm:"column:cid_id"` Auth_id int `form:"column:auth_id"` + Script string `gorm:"column:script"` Log string `gorm:"column:log"` Error string `gorm:"column:error"` } @@ -73,8 +74,8 @@ func UpdateCIDByID(id, auth_id int, name, url, script, token string) bool { } // CreateRunLog,添加执行日志 -func CreateRunLog(cid_id, auth_id int, log, err string) uint { - cidRunLog := CIDRunLog{CID_id: cid_id, Auth_id: auth_id, Log: log, Error: err} +func CreateRunLog(cid_id, auth_id int, script, log, err string) uint { + cidRunLog := CIDRunLog{CID_id: cid_id, Auth_id: auth_id, Log: log, Error: err, Script: script} result := DB.Debug().Create(&cidRunLog) if result != nil { fmt.Println(err) @@ -85,7 +86,7 @@ func CreateRunLog(cid_id, auth_id int, log, err string) uint { func FindRunLogByAuthID(auth_id int) []CIDRunLog { var cidRunLogs []CIDRunLog - DB.Debug().Where(" auth_id = ?", auth_id).Find(&cidRunLogs).Order("created_at desc") + DB.Debug().Where(" auth_id = ?", auth_id).Order("created_at desc").Find(&cidRunLogs) return cidRunLogs } diff --git a/handler/cid.go b/handler/cid.go index f3421de..dad05de 100644 --- a/handler/cid.go +++ b/handler/cid.go @@ -58,6 +58,7 @@ func RunCID(c *gin.Context) { re := regexp.MustCompile(`(?i)(?:https?://|git@)[^/]+/([^/]+)/([^/]+)(?:\.git)?$`) matches := re.FindStringSubmatch(cid.Url) name := matches[2] + //脚本内容 scriptContent := `#!/bin/bash TARGET_DIR = ` + proto.CID_BASE_DIR + `/workspace` + name + ` if [ ! -d $TARGET_DIR ]; then @@ -75,7 +76,7 @@ func RunCID(c *gin.Context) { // 使用bytes.Buffer捕获输出 var out bytes.Buffer cmd.Stdout = &out - dao.CreateRunLog(req.ID, authID, out.String(), err3.Error()) //添加执行日志 + dao.CreateRunLog(req.ID, authID, scriptContent, out.String(), err3.Error()) //添加执行日志 c.JSON(200, gin.H{"code": proto.SuccessCode, "message": "success", "data": "success"}) } @@ -201,7 +202,7 @@ func CIDCallback(c *gin.Context) { // 使用bytes.Buffer捕获输出 var out bytes.Buffer cmd.Stdout = &out - dao.CreateRunLog(cid, res.Auth_id, out.String(), err3.Error()) //添加执行日志 + dao.CreateRunLog(cid, res.Auth_id, scriptContent, out.String(), err3.Error()) //添加执行日志 c.JSON(200, gin.H{"code": proto.SuccessCode, "message": "success", "data": "success"}) } else { c.JSON(200, gin.H{"error": "CID not found by id and token", "code": proto.OperationFailed, "message": "failed"})