chore: 完善个模块打包
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
||||
"yizhisec.com/hsv2/forge/pkg/resource"
|
||||
)
|
||||
|
||||
func (m *maker) AppOEM(ctx context.Context, vendor string, replica int) error {
|
||||
func (m *maker) AppOEM(ctx context.Context, version string, vendor string, replica int) error {
|
||||
const (
|
||||
_nginx = `user root;
|
||||
worker_processes auto;
|
||||
@@ -61,7 +61,7 @@ CMD ["nginx", "-g", "daemon off;"]`
|
||||
output []byte
|
||||
)
|
||||
|
||||
logger.Info("☑️ maker.AppOEM: 开始构建 oem[%s], workdir = %s", vendor, workdir)
|
||||
logger.Info("☑️ maker.AppOEM: 开始构建 oem[%s], version = %s, ,workdir = %s", vendor, version, workdir)
|
||||
|
||||
if _vendor == nil {
|
||||
supported := model.GetVendorNames()
|
||||
@@ -71,6 +71,7 @@ CMD ["nginx", "-g", "daemon off;"]`
|
||||
|
||||
// 1. make workdir
|
||||
logger.Debug("☑️ maker.AppOEM: 开始创建 workdir = %s", workdir)
|
||||
_ = os.RemoveAll(workdir)
|
||||
if err = os.MkdirAll(workdir, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -92,6 +93,7 @@ CMD ["nginx", "-g", "daemon off;"]`
|
||||
}
|
||||
}
|
||||
logger.Debug("✅ maker.AppOEM: oem[%s] tar 下载成功", vendor)
|
||||
defer os.RemoveAll(filepath.Join(workdir, "oem"))
|
||||
|
||||
// 3. write nginx.conf
|
||||
logger.Debug("☑️ maker.AppOEM: 开始写入 nginx.conf")
|
||||
@@ -127,14 +129,10 @@ CMD ["nginx", "-g", "daemon off;"]`
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppOEM: docker image 构建成功, image = %s", imageName)
|
||||
defer os.RemoveAll(filepath.Join(workdir, "Dockerfile"))
|
||||
defer os.RemoveAll(filepath.Join(workdir, "nginx.conf"))
|
||||
|
||||
// 6. save docker image to image dir
|
||||
logger.Debug("☑️ maker.AppOEM: 开始保存 docker image = %s 到 %s", imageName, filepath.Join(m.workdir, "image", imageName))
|
||||
if err = os.MkdirAll(filepath.Join(m.workdir, "dependency", "image"), 0o755); err != nil {
|
||||
logger.Debug("❌ maker.AppOEM: image 目录创建失败, err = %v", err)
|
||||
return err
|
||||
}
|
||||
if err = exec.CommandContext(ctx, "docker", "save", "-o", filepath.Join(m.workdir, "dependency", "image", "app.oem.tar"), imageName).Run(); err != nil {
|
||||
if err = exec.CommandContext(ctx, "docker", "save", "-o", filepath.Join(workdir, "oem.tar"), imageName).Run(); err != nil {
|
||||
logger.Debug("❌ maker.AppOEM: docker image 保存失败, err = %v", err)
|
||||
return err
|
||||
}
|
||||
@@ -153,7 +151,12 @@ CMD ["nginx", "-g", "daemon off;"]`
|
||||
}
|
||||
logger.Debug("✅ maker.AppOEM: deployment.yaml 写入成功")
|
||||
|
||||
logger.Info("✅ maker.AppOEM: 开始构建 oem[%s] 成功!!!", vendor)
|
||||
if err = os.WriteFile(filepath.Join(workdir, "version.txt"), []byte(version), 0644); err != nil {
|
||||
logger.Debug("❌ maker.AppOEM: 写入 version.txt 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Info("✅ maker.AppOEM: 开始构建 oem[%s] 成功!!! version = %s", vendor, version)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user