LingxinMeng преди 3 месеца
родител
ревизия
efa1e21529

+ 6 - 10
tools/plugin-compile/main/main.go

@@ -10,11 +10,10 @@ import (
 	"os"
 )
 
-const servicePort = 12340
-const serviceName = "plugin-compile"
-
-func init() {
-	c_log.InitLog("/root/cicv-data-closedloop/deploy/log/", serviceName)
+func main() {
+	args := os.Args
+	config.InitApplication(args[1])
+	c_log.InitLog(config.ApplicationYaml.LogDir, config.ApplicationYaml.ServiceName)
 	config.InitOss(false)
 	config.InitOss2(false)
 
@@ -23,15 +22,12 @@ func init() {
 	//	"内网IP": "10.14.85.228",
 	//	"外网IP": "36.110.106.142",
 	//})
-}
-
-func main() {
 	mux := http.NewServeMux()
 	mux.Handle("/compile", h_validate_request_header.HeaderValidationMiddleware(&handler.CompileHandler{}))
 	mux.Handle("/pji_compile", h_validate_request_header.HeaderValidationMiddleware(&handler.PjiCompileHandler{}))
-	err := http.ListenAndServe(":"+util.ToString(servicePort), mux)
+	err := http.ListenAndServe(":"+util.ToString(config.ApplicationYaml.ServicePort), mux)
 	if err != nil {
-		c_log.GlobalLogger.Error("程序崩溃监听端口 " + util.ToString(servicePort) + " 失败。")
+		c_log.GlobalLogger.Error("程序崩溃监听端口 " + util.ToString(config.ApplicationYaml.ServicePort) + " 失败。")
 		os.Exit(-1)
 	}
 }

+ 19 - 0
tools/plugin-compile/package/config/application-bak.yaml

@@ -0,0 +1,19 @@
+cname: "xxxx"
+endpoint: "xxxx"
+accessKeyId: "xxxx"
+accessKeySecret: "xxxx"
+bucketName: "xxxx"
+
+cname2: "xxxx"
+endpoint2: "xxxx"
+accessKeyId2: "xxxx"
+accessKeySecret2: "xxxx"
+bucketName2: "xxxx"
+
+codeDir: "/root/cicv-data-closedloop/trigger/" # 编译后的插件存放目录
+vaildateCmd: "/root/cicv-data-closedloop/deploy/exe/plugin-vaildate.exe" # 编译命令
+
+servicePort: 12340
+serviceName: "plugin-compile"
+
+logDir:  "/root/cicv-data-closedloop/deploy/log/"

+ 19 - 0
tools/plugin-compile/package/config/application.yaml

@@ -0,0 +1,19 @@
+cname: "http://open-bucket.oss.icvdc.com"
+endpoint: "oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com"
+accessKeyId: "n8glvFGS25MrLY7j"
+accessKeySecret: "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
+bucketName: "open-bucket"
+
+cname2: "http://pji-bucket1.oss.icvdc.com"
+endpoint2: "oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com"
+accessKeyId2: "n8glvFGS25MrLY7j"
+accessKeySecret2: "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
+bucketName2: "pji-bucket1"
+
+codeDir: "/root/cicv-data-closedloop/trigger/"
+vaildateCmd: "/root/cicv-data-closedloop/deploy/exe/plugin-vaildate.exe"
+
+servicePort: 12340
+serviceName: "plugin-compile"
+
+logDir:  "/root/cicv-data-closedloop/deploy/log/"

+ 20 - 20
tools/plugin-compile/package/config/c_oss.go

@@ -7,35 +7,35 @@ import (
 )
 
 var (
-	cname           = "http://open-bucket.oss.icvdc.com"
-	endpoint        = "oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com"
-	accessKeyId     = "n8glvFGS25MrLY7j"
-	accessKeySecret = "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
-	bucketName      = "open-bucket"
-	OssClient       *oss.Client
-	OssBucket       *oss.Bucket
+	//cname           = "http://open-bucket.oss.icvdc.com"
+	//endpoint        = "oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com"
+	//accessKeyId     = "n8glvFGS25MrLY7j"
+	//accessKeySecret = "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
+	//bucketName      = "open-bucket"
+	OssClient *oss.Client
+	OssBucket *oss.Bucket
 
-	cname2           = "http://pji-bucket1.oss.icvdc.com"
-	endpoint2        = "oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com"
-	accessKeyId2     = "n8glvFGS25MrLY7j"
-	accessKeySecret2 = "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
-	bucketName2      = "pji-bucket1"
-	OssClient2       *oss.Client
-	OssBucket2       *oss.Bucket
+	//cname2           = "http://pji-bucket1.oss.icvdc.com"
+	//endpoint2        = "oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com"
+	//accessKeyId2     = "n8glvFGS25MrLY7j"
+	//accessKeySecret2 = "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
+	//bucketName2      = "pji-bucket1"
+	OssClient2 *oss.Client
+	OssBucket2 *oss.Bucket
 )
 
 func InitOss(isUseCname bool) {
 	var err error
 	if isUseCname {
-		OssClient, err = oss.New(cname, accessKeyId, accessKeySecret, oss.UseCname(true)) // 公网
+		OssClient, err = oss.New(ApplicationYaml.Cname, ApplicationYaml.AccessKeyId, ApplicationYaml.AccessKeySecret, oss.UseCname(true)) // 公网
 	} else {
-		OssClient, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(false)) // 内网
+		OssClient, err = oss.New(ApplicationYaml.Endpoint, ApplicationYaml.AccessKeyId, ApplicationYaml.AccessKeySecret, oss.UseCname(false)) // 内网
 	}
 	if err != nil {
 		fmt.Println("无法创建阿里云client:", err)
 		os.Exit(-1)
 	}
-	OssBucket, err = OssClient.Bucket(bucketName)
+	OssBucket, err = OssClient.Bucket(ApplicationYaml.BucketName)
 	if err != nil {
 		fmt.Println("无法创建阿里云bucket:", err)
 		os.Exit(-1)
@@ -45,15 +45,15 @@ func InitOss(isUseCname bool) {
 func InitOss2(isUseCname bool) {
 	var err error
 	if isUseCname {
-		OssClient2, err = oss.New(cname2, accessKeyId2, accessKeySecret2, oss.UseCname(true)) // 公网
+		OssClient2, err = oss.New(ApplicationYaml.Cname2, ApplicationYaml.AccessKeyId2, ApplicationYaml.AccessKeySecret2, oss.UseCname(true)) // 公网
 	} else {
-		OssClient2, err = oss.New(endpoint2, accessKeyId2, accessKeySecret2, oss.UseCname(false)) // 内网
+		OssClient2, err = oss.New(ApplicationYaml.Endpoint2, ApplicationYaml.AccessKeyId2, ApplicationYaml.AccessKeySecret2, oss.UseCname(false)) // 内网
 	}
 	if err != nil {
 		fmt.Println("无法创建阿里云client:", err)
 		os.Exit(-1)
 	}
-	OssBucket2, err = OssClient2.Bucket(bucketName2)
+	OssBucket2, err = OssClient2.Bucket(ApplicationYaml.BucketName2)
 	if err != nil {
 		fmt.Println("无法创建阿里云bucket:", err)
 		os.Exit(-1)

+ 52 - 0
tools/plugin-compile/package/config/i_application.go

@@ -0,0 +1,52 @@
+package config
+
+import (
+	_ "embed"
+	"fmt"
+	"gopkg.in/yaml.v2"
+	"os"
+)
+
+type ApplicationYamlStruct struct {
+	Cname            string `yaml:"cname"`
+	Endpoint         string `yaml:"endpoint"`
+	AccessKeyId      string `yaml:"accessKeyId"`
+	AccessKeySecret  string `yaml:"accessKeySecret"`
+	BucketName       string `yaml:"bucketName"`
+	Cname2           string `yaml:"cname2"`
+	Endpoint2        string `yaml:"endpoint2"`
+	AccessKeyId2     string `yaml:"accessKeyId2"`
+	AccessKeySecret2 string `yaml:"accessKeySecret2"`
+	BucketName2      string `yaml:"bucketName2"`
+	CodeDir          string `yaml:"codeDir"`
+	VaildateCmd      string `yaml:"vaildateCmd"`
+	ServicePort      string `yaml:"servicePort"`
+	ServiceName      string `yaml:"serviceName"`
+	LogDir           string `yaml:"logDir"`
+}
+
+var (
+	// 使用外部配置文件 go:embed application.yaml
+	applicationYamlBytes []byte
+	ApplicationYaml      ApplicationYamlStruct
+)
+
+//// 使用embed加载
+//func InitApplication() {
+//	_ = yaml.Unmarshal(applicationYamlBytes, &ApplicationYaml)
+//	fmt.Println("加载配置文件内容为:", ApplicationYaml)
+//	// 创建镜像下载目录
+//	util.CreateDir(ApplicationYaml.K8s.AlgorithmTarTempDir)
+//}
+
+// 使用外部文件加载
+func InitApplication(applicationYamlPath string) {
+	var err error
+	applicationYamlBytes, err = os.ReadFile(applicationYamlPath) // 在哪里执行命令,配置文件就放哪里
+	if err != nil {
+		fmt.Println("Error reading file:", err)
+		return
+	}
+	_ = yaml.Unmarshal(applicationYamlBytes, &ApplicationYaml)
+	fmt.Println("加载配置文件内容为:", ApplicationYaml)
+}

+ 5 - 3
tools/plugin-compile/package/handler/compile_plugin.go

@@ -15,9 +15,6 @@ import (
 var (
 	compileCmd     = "go"
 	compileCmdArgs = []string{"build", "--buildmode=plugin"}
-	codeDir        = "/root/cicv-data-closedloop/trigger/"
-	// /root/cicv-data-closedloop/plugin-vaildate/plugin-vaildate.exe /root/rosbag-handle-pji/trigger/431a4254/main/431a4254.so
-	vaildateCmd = "/root/cicv-data-closedloop/deploy/exe/plugin-vaildate.exe"
 )
 
 // Device 设备
@@ -30,6 +27,8 @@ type Device struct {
 type CompileHandler struct{}
 
 func (h *CompileHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+	codeDir := config.ApplicationYaml.CodeDir
+	vaildateCmd := config.ApplicationYaml.VaildateCmd // /root/cicv-data-closedloop/plugin-vaildate/plugin-vaildate.exe /root/rosbag-handle-pji/trigger/431a4254/main/431a4254.so
 	c_log.GlobalLogger.Error("CompileHandler 开始处理。")
 
 	// 1 校验参数
@@ -114,6 +113,9 @@ func (h *CompileHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 type PjiCompileHandler struct{}
 
 func (h *PjiCompileHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+	codeDir := config.ApplicationYaml.CodeDir
+	vaildateCmd := config.ApplicationYaml.VaildateCmd // /root/cicv-data-closedloop/plugin-vaildate/plugin-vaildate.exe /root/rosbag-handle-pji/trigger/431a4254/main/431a4254.so
+
 	c_log.GlobalLogger.Error("PjiCompileHandler 开始处理。")
 	// 1 校验参数
 	queryParams := r.URL.Query()