🎨 大部分的 make 指令
This commit is contained in:
50
internal/cmd/make.debs.go
Normal file
50
internal/cmd/make.debs.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"gitea.loveuer.com/yizhisec/pkg3/logger"
|
||||
"github.com/spf13/cobra"
|
||||
"yizhisec.com/hsv2/forge/internal/opt"
|
||||
"yizhisec.com/hsv2/forge/pkg/archiver"
|
||||
)
|
||||
|
||||
func makeDebs() *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "debs",
|
||||
Aliases: []string{"deb"},
|
||||
Short: "Build Debian packages",
|
||||
Long: `Build all required Debian packages for the project.`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
fmt.Println("Building Debian packages...")
|
||||
var (
|
||||
tarURL = "https://artifactory.yizhisec.com:443/artifactory/filestore/hsv3/deb/docker.tar.gz"
|
||||
binDir = filepath.Join(opt.Cfg.Make.Dir, "dependency", "deb")
|
||||
)
|
||||
|
||||
logger.Info("开始准备 deb(docker) 文件...")
|
||||
logger.Debug("下载地址: %s", tarURL)
|
||||
logger.Debug("目标目录: %s", binDir)
|
||||
|
||||
logger.Info("正在下载二进制文件...")
|
||||
|
||||
if err := archiver.DownloadAndExtract(
|
||||
cmd.Context(),
|
||||
tarURL,
|
||||
binDir,
|
||||
archiver.WithInsecureSkipVerify(),
|
||||
archiver.WithGzipCompression(true),
|
||||
); err != nil {
|
||||
logger.Info("❌ 下载并解压 deb(docker) 文件失败")
|
||||
logger.Debug("下载并解压 deb(docker) 文件失败: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Info("✅ 成功下载并解压 deb(docker) 文件")
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
return cmd
|
||||
}
|
||||
Reference in New Issue
Block a user