diff --git a/Dockerfile b/Dockerfile index 84cf3a9e9bb21929f00437d819e4175921b052f4..c4ba403ad56da9aaec0233a3b172747849bd8006 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,15 +10,15 @@ RUN go get github.com/tools/godep # Recompile the standard library without CGO RUN CGO_ENABLED=0 go install -a std -ENV APP_DIR $GOPATH\src\cve-manager +ENV APP_DIR $GOPATH/src/cve-manager RUN mkdir -p $APP_DIR # Set the entrypoint -ENTRYPOINT (cd $APP_DIR && ./\src\cve-manager) +ENTRYPOINT (cd $APP_DIR && ./src/cve-manager) ADD . $APP_DIR # Compile the binary and statically link -#RUN cd $APP_DIR && CGO_ENABLED=0 godep go build -ldflags '-d -w -s' +RUN cd $APP_DIR && CGO_ENABLED=0 godep go build -ldflags '-d -w -s' EXPOSE 80 diff --git a/conf/app.conf b/conf/app.conf index d60770f7b760b0726158527d84dfd87245016ae0..d91af5d5488325dee30d10e50421962af0ff949e 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -41,7 +41,7 @@ maxlines=50000 maxsize=304800 [crontab] -ymalflag = 2git +ymalflag = 2 getymal = 00 00 23 * * * cveflag = 2 getcve = 00 00 01 * * * @@ -58,7 +58,7 @@ genexcelflag = 2 genexcel = 00 00 04 * * * days = -30 prcnum = 100 -printlogflag = 2 +printlogflag = 1 printlog = 0 */10 * * * * diff --git a/conf/product_app.conf b/conf/product_app.conf index 7bcd783621917c1ade8299782c3eae7224800b26..f070c48cf2cecd052c417ded766e718d7419619d 100644 --- a/conf/product_app.conf +++ b/conf/product_app.conf @@ -5,19 +5,21 @@ autorender = false copyrequestbody = true EnableDocs = true sqlconn = -# **** Login key agreed by both parties **** +# Login key agreed by both parties key = "${AES_KEY||djS*@+8K9{J!ymk6}" initdb = 1 -# **** Login key**** +# Login key loginkey = "{${LOGIN_KEY||djS*@+8K9{-!yo%64}" -# **** Token validity period, unit: day**** +# Token validity period, unit: day token_expir_time=3 -# **** Analysis instructions**** +# Analysis instructions analysisCmd = "/analysis" endCmd = "/done" rejectCmd = "/reject" approveCmd = "/approve" closeCmd = "/close" +labelFixed = "CVE/FIXED" +labelUnFix = "CVE/UNFIX" [mysql] @@ -33,12 +35,13 @@ maxconn = 3000 [log] log_level = 7 +log_dir = ./logs log_path = logs/cve.log -maxlines=200000 -maxsize=1024000 +maxlines=50000 +maxsize=304800 [crontab] -ymalflag = 2 +ymalflag = 1 getymal = 00 00 23 * * * cveflag = 2 getcve = 00 00 01 * * * @@ -55,21 +58,23 @@ genexcelflag = 2 genexcel = 00 00 04 * * * days = -30 prcnum = 100 +printlogflag = 2 +printlog = 0 */10 * * * * [gitee] -owner = cve-test +owner = src-openeuler path = jasper email = 7844966+zhangjianjun_code@user.noreply.gitee.com redirect_uri = http://159.138.2.2:80/v1/issue/oauth/callback scope = user_info projects pull_requests issues notes keys hook groups gists enterprises emails -# **** Obtain first from the system environment variables, use the default value if it fails **** +# Obtain first from the system environment variables, use the default value if it fails **** client_id = "${GITEE_CLIENT_ID||****}" client_secret = "${GITEE_CLIENT_SECRET||****}" password = "${GITEE_PASSWORD||****}" -# **** git token**** +# git token git_token = "${GITEE_TOKEN||xxx}" [hook] @@ -77,6 +82,7 @@ hookpwd = "${HOOK_PWD||***}" hookurl = http://159.138.2.2:80/v1/issue/hook/event + [yaml] apiurl = https://api.openeuler.org/pkgmanage diff --git a/models/ymal.go b/models/ymal.go index 2c3c0f4997f8b4e2222b109df9c523fbea0ca5a0..b086b975ab81ee477c7577c2bfc9aaab3b932dce 100644 --- a/models/ymal.go +++ b/models/ymal.go @@ -58,7 +58,7 @@ func CreateYamlTable(gt *GitPackageTable) (TableId int64, err error) { func GetSingleYaml(ge *GitOpenEuler) (bool, error) { o := orm.NewOrm() if ge.Version != "" && ge.Release != "" { - localge := GitOpenEuler{PackageName: ge.PackageName, Version: ge.Version, Release: ge.Release} + localge := GitOpenEuler{PackageName: ge.PackageName, Version: ge.Version} err := o.Read(&localge, "PackageName", "Version", "Release") logs.Info("查询yaml数据是否存在:", ge, ", localge: ", localge, ", err: ", err) if err == orm.ErrNoRows { diff --git a/taskhandler/yaml.go b/taskhandler/yaml.go index 4dee8af51f7470f3b260f66e16160ac829e6c9b7..02c8614b33bedc13ca65156432368985f2272b16 100644 --- a/taskhandler/yaml.go +++ b/taskhandler/yaml.go @@ -7,6 +7,8 @@ import ( "encoding/json" "errors" "github.com/astaxie/beego/logs" + "net/http" + "net/url" "strconv" "strings" "sync" @@ -234,10 +236,24 @@ func ProcPackDetail(url string, value map[string]interface{}, tableValue models. return "", nil } -func GetPackageInfo(url string, tableValue models.GitPackageTable, ge models.GitOpenEuler) (string, error) { - scpURL := url + "/packages/packageInfo" + "?table_name=" + tableValue.TableName + "&pkg_name=" + ge.PackageName +func GetPackageInfo(urls string, tableValue models.GitPackageTable, ge models.GitOpenEuler) (string, error) { + scpURL := urls + "/packages/packageInfo" + "?table_name=" + tableValue.TableName + "&pkg_name=" + ge.PackageName logs.Info("PackageName: ", ge.PackageName, "获取packageInfo, 请求参数: ", scpURL) - body, err := util.HTTPGetCom(scpURL) + var urlS url.URL + q := urlS.Query() + q.Add("table_name", tableValue.TableName) + q.Add("pkg_name", ge.PackageName) + params := q.Encode() + req, _ := http.NewRequest("GET", urls, nil) + req.URL = &url.URL{ + Scheme: req.URL.Scheme, + Host: req.URL.Host, + RawQuery: params, + Path: "/pkgmanage/packages/packageInfo", + } + + req.URL.EscapedPath() + body, err := util.HTTPGetCom(req.URL.String()) var respBody map[string]interface{} if err == nil && body != nil { err = json.Unmarshal(body, &respBody) diff --git a/util/http.go b/util/http.go index 02957dee4ef2b7c617228cc57aec871f92581d05..a93175094b4ad8f43cc7c7870371f7aaba878b51 100644 --- a/util/http.go +++ b/util/http.go @@ -190,10 +190,11 @@ func HTTPGet(url string) ([]map[string]interface{}, error) { } //HTTPGetCom common get request -func HTTPGetCom(url string) ([]byte, error) { - resp, err := http.Get(url) +func HTTPGetCom(urls string) ([]byte, error) { + logs.Info("httpgetcom: ", urls) + resp, err := http.Get(urls) if err != nil { - logs.Error("get error, url:", url, "error: ", err) + logs.Error("get error, url:", urls, "error: ", err) return nil, err } defer resp.Body.Close() @@ -202,6 +203,6 @@ func HTTPGetCom(url string) ([]byte, error) { logs.Error(err) return nil, err } - logs.Info("body: \n", string(body), "url: ", url) + logs.Info("body: \n", string(body), "url: ", urls) return body, nil }