You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.6 KiB
76 lines
2.6 KiB
3 months ago
|
package entities
|
||
|
|
||
|
import (
|
||
|
"devops/util/dts"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
// BuildStatus 构建状态
|
||
|
type BuildStatus string
|
||
|
|
||
|
const (
|
||
|
BuildPending BuildStatus = "pending" // 等待运行
|
||
|
BuildRunning BuildStatus = "running" // 正在运行
|
||
|
BuildSuccess BuildStatus = "success" // 构建成功
|
||
|
BuildFailure BuildStatus = "failure" // 构建失败
|
||
|
BuildAborted BuildStatus = "aborted" // 构建中断
|
||
|
)
|
||
|
|
||
|
// Build 项目构建
|
||
|
type Build struct {
|
||
|
// 构建编号
|
||
|
ID string `json:"id" gorm:"primaryKey"`
|
||
|
// 构建项目
|
||
|
ProjectID string `json:"projectId"`
|
||
|
// 关联项目,如果项目删除也删除
|
||
|
Project *Project `json:"project,omitempty" gorm:"foreignKey:ProjectID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE"`
|
||
|
// 使用的仓库分支名称
|
||
|
Branch string `json:"branch"`
|
||
|
// 构建时,项目最后一次提交的 commit 标识
|
||
|
CommitId string `json:"commitId"`
|
||
|
// 构建时,项目最后一次提交的 commit 信息
|
||
|
CommitText string `json:"commitText"`
|
||
|
// 构建项目时的标准输出内容(不包含构建步骤的)
|
||
|
Stdout string `json:"stdout"`
|
||
|
// 构建项目时的错误输出内容(不包含构建步骤的)
|
||
|
Stderr string `json:"startedError"`
|
||
|
// 项目构建步骤
|
||
|
Steps []BuildStep `json:"steps"`
|
||
|
// 启动构建程序的用户的编号,如果是通过 webhook 修改,会被置空
|
||
|
StartedBy dts.NullUint `json:"startedBy"`
|
||
|
// 启动构建项目时的时间
|
||
|
StartedAt time.Time `json:"startedAt"`
|
||
|
// 手动停止该项目构建的用户的编号,自动完成会将该值置空。
|
||
|
StoppedBy dts.NullUint `json:"stoppedBy"`
|
||
|
// 手动停止或自动完成该项目构建时的时间
|
||
|
StoppedAt time.Time `json:"stoppedAt"`
|
||
|
// 当前所处状态
|
||
|
Status BuildStatus `json:"status"`
|
||
|
}
|
||
|
|
||
|
// BuildStep 构建步骤日志
|
||
|
type BuildStep struct {
|
||
|
// 日志编号
|
||
|
Id uint `json:"id" gorm:"primaryKey"`
|
||
|
// 归属的构建编号
|
||
|
BuildID string `json:"buildId"`
|
||
|
// 关联项目,如果项目删除也删除
|
||
|
Build *Build `json:"build,omitempty" gorm:"foreignKey:BuildID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE"`
|
||
|
// 构建步骤名称
|
||
|
Name string `json:"name"`
|
||
|
// 运行构建步骤的命令
|
||
|
Run string `json:"run"`
|
||
|
// 运行构建步骤时的环境变量
|
||
|
Env map[string]string `json:"env" gorm:"serializer:json"`
|
||
|
// 构建步骤的标准输出内容
|
||
|
Stdout string `json:"stdout"`
|
||
|
// 构建步骤的错误输出内容
|
||
|
Stderr string `json:"stderr"`
|
||
|
// 开始该步骤时的时间
|
||
|
StartedAt time.Time `json:"startedAt"`
|
||
|
// 结束该步骤时的时间
|
||
|
StoppedAt time.Time `json:"stoppedAt"`
|
||
|
// 当前所处状态
|
||
|
Status BuildStatus `json:"status"`
|
||
|
}
|