- 工具配置:新增卸载 API/UI、Go 工具链、流水线构建自动安装依赖 - 修复 ListTools VerifyTool 递归栈溢出导致获取工具配置失败 - Node.js Alpine 安装改用 unofficial-builds musl 预编译包与 index.json 解析 LTS - 站点拨测:详情页路由、告警自动恢复、并发拨测与默认可观测频率 - 日志中心:RBAC、查询构建器、ES/Loki 增强与审计 request/response 展示 - 发布配置:构建节点、流水线远程执行、Deploy RBAC 导航拆分
61 lines
2.5 KiB
Go
61 lines
2.5 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// BuildNode CI/CD 构建节点(Jenkins Agent 风格,基于 SSH 关联服务器资产) // Logan.Li
|
|
type BuildNode struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
Name string `gorm:"size:64;not null;uniqueIndex" json:"name"`
|
|
Description string `gorm:"size:255" json:"description"`
|
|
ServerID uint `gorm:"not null;index" json:"server_id"` // FK → servers
|
|
Labels string `gorm:"size:255;comment:标签(逗号分隔,用于调度匹配)" json:"labels,omitempty"`
|
|
MaxExecutors int `gorm:"default:2;comment:最大并发构建数" json:"max_executors"`
|
|
WorkspacePath string `gorm:"size:255;default:/data/aiops-workspace;comment:远程工作区根目录" json:"workspace_path"`
|
|
Enabled bool `gorm:"default:true" json:"enabled"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
// 运行时统计(非持久化,由调度器填充)
|
|
RunningCount int `gorm:"-" json:"running_count,omitempty"`
|
|
Hostname string `gorm:"-" json:"hostname,omitempty"`
|
|
IP string `gorm:"-" json:"ip,omitempty"`
|
|
}
|
|
|
|
func (BuildNode) TableName() string {
|
|
return "deploy_build_nodes"
|
|
}
|
|
|
|
// BuildMasterConfig Master 内置构建节点并发配置(单行) // Logan.Li
|
|
type BuildMasterConfig struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
MaxExecutors int `gorm:"default:2;not null;comment:最大并发(1=串行排队)" json:"max_executors"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (BuildMasterConfig) TableName() string { return "deploy_build_master_config" }
|
|
|
|
// UpdateBuildMasterRequest 更新 Master 并发数 // Logan.Li
|
|
type UpdateBuildMasterRequest struct {
|
|
MaxExecutors int `json:"max_executors" binding:"required,min=1,max=32"`
|
|
}
|
|
|
|
// CreateBuildNodeRequest 创建构建节点
|
|
type CreateBuildNodeRequest struct {
|
|
Name string `json:"name" binding:"required"`
|
|
Description string `json:"description"`
|
|
ServerID uint `json:"server_id" binding:"required"`
|
|
Labels string `json:"labels"`
|
|
MaxExecutors int `json:"max_executors"`
|
|
WorkspacePath string `json:"workspace_path"`
|
|
}
|
|
|
|
// UpdateBuildNodeRequest 更新构建节点
|
|
type UpdateBuildNodeRequest struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
ServerID *uint `json:"server_id"`
|
|
Labels string `json:"labels"`
|
|
MaxExecutors int `json:"max_executors"`
|
|
WorkspacePath string `json:"workspace_path"`
|
|
Enabled *bool `json:"enabled"`
|
|
} |