chore: 完善个模块打包
This commit is contained in:
73
internal/controller/maker/app.helper.go
Normal file
73
internal/controller/maker/app.helper.go
Normal file
@@ -0,0 +1,73 @@
|
||||
package maker
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"gitea.loveuer.com/yizhisec/pkg3/logger"
|
||||
"yizhisec.com/hsv2/forge/pkg/resource"
|
||||
)
|
||||
|
||||
// AppHelper
|
||||
func (m *maker) AppHelper(ctx context.Context, version string, vendor string, replica int) error {
|
||||
const (
|
||||
// _config = ``
|
||||
_upsert = `#!/bin/bash
|
||||
|
||||
kubectl apply -f deployment.yaml
|
||||
kubectl rollout restart deployment app-helper-deployment -n hsv2`
|
||||
)
|
||||
var (
|
||||
err error
|
||||
workdir = filepath.Join(m.workdir, "app", "helper")
|
||||
)
|
||||
|
||||
logger.Info("☑️ maker.AppHelper: 开始构建 helper 应用..., version = %s, vendor = %s, dir = %s", version, vendor, workdir)
|
||||
_ = os.RemoveAll(workdir)
|
||||
logger.Debug("☑️ maker.AppHelper: 开始创建工作目录 = %s", workdir)
|
||||
if err = os.MkdirAll(workdir, 0755); err != nil {
|
||||
logger.Debug("❌ maker.AppHelper: 创建目录失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppHelper: 创建工作目录成功 = %s", workdir)
|
||||
|
||||
imgName := "hub.yizhisec.com/hsv2/app/helper:latest"
|
||||
logger.Debug("☑️ maker.AppHelper: start pull image = %s", imgName)
|
||||
if err = m.Image(ctx, imgName,
|
||||
WithImageForcePull(true),
|
||||
WithImageSave(filepath.Join(workdir, "helper.tar")),
|
||||
); err != nil {
|
||||
logger.Debug("❌ maker.AppHelper: 拉取镜像失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppHelper: pull image success = %s", imgName)
|
||||
|
||||
if replica < 1 {
|
||||
replica = 1
|
||||
}
|
||||
|
||||
logger.Debug("☑️ maker.AppHelper: 开始构建 yaml 资源文件")
|
||||
content := []byte(fmt.Sprintf(resource.YAMLAppHelper, replica, version))
|
||||
if err = os.WriteFile(filepath.Join(workdir, "deployment.yaml"), content, 0644); err != nil {
|
||||
logger.Debug("❌ maker.AppHelper: 写入 deployment.yaml 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppHelper: 开始 yaml 资源文件成功")
|
||||
|
||||
logger.Debug("☑️ maker.AppHelper: 开始构建 upsert.sh 脚本")
|
||||
if err = os.WriteFile(filepath.Join(workdir, "upsert.sh"), []byte(_upsert), 0755); err != nil {
|
||||
logger.Debug("❌ maker.AppHelper: 写入 upsert.sh 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppHelper: 构建 upsert.sh 脚本成功")
|
||||
|
||||
if err = os.WriteFile(filepath.Join(workdir, "version.txt"), []byte(version), 0644); err != nil {
|
||||
logger.Debug("❌ maker.AppHelper: 写入 version.txt 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Info("✅ maker.AppHelper: 构建 helper 应用成功!!! version = %s", version)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user