Documentation
¶
Index ¶
Constants ¶
View Source
const ( //PipeLogStatusSuccess 成功 PipeLogStatusSuccess //PipeLogStatusErrorServerConn 服务器链接失败 PipeLogStatusErrorServerConn //PipeLogStatusErrorShellExec 脚本错误 PipeLogStatusErrorShellExec //PipeLogStatusRunning 正在执行部署 PipeLogStatusRunning //PipeLogStatusHumanStopped 人工停止 PipeLogStatusHumanStopped //PipeLogStatusErrorTimeout 执行超时 PipeLogStatusErrorTimeout )
View Source
const ( //RepoPlatGitHub GitHub RepoPlatGitHub //RepoPlatBitBucket BitBucket RepoPlatBitBucket //RepoPlatGitlab Gitlab RepoPlatGitlab //RepoPlatGogs Gogs RepoPlatGogs )
Variables ¶
View Source
var Conf *ini.File
Conf of NoCD config
View Source
var Debug bool
Debug debuggable
View Source
var Loc *time.Location
Loc system time location
View Source
var RepoEvents map[int]map[string]string
RepoEvents 各平台支持的事件索引
View Source
var RepoPlatforms map[int]string
RepoPlatforms 平台信息索引
View Source
var RunningLogs map[uint]*Running
RunningLogs 系统中在运行的任务
Functions ¶
Types ¶
type PipeLog ¶
type PipeLog struct {
ID uint
StartedAt time.Time
StoppedAt time.Time
Pipeline Pipeline
PipelineID uint
Pusher string
Log string
Status int
}
PipeLog 部署日志
type PipeLogService ¶
type PipeLogService interface {
Create(plog *PipeLog) error
Update(plog *PipeLog) error
LastServerLog(sid uint) PipeLog
LastPipelineLog(pid uint) PipeLog
UserLogs(uid uint, page, size int64) ([]PipeLog, int64)
Pipeline(log *PipeLog) error
GetByUID(uid, lid uint) (PipeLog, error)
GetByID(lid uint) (PipeLog, error)
Logs(status int, page, size int64) ([]PipeLog, int64)
LastLogs(num uint) []PipeLog
}
PipeLogService 部署日志服务
type Pipeline ¶
type Pipeline struct {
ID uint `form:"id" binding:"min=0"`
Name string `form:"name" binding:"required,min=1,max=12"`
Branch string `form:"branch" binding:"required,alphanum,min=1,max=30"`
Events string
EventsSlice []string `gorm:"-" form:"events[]" binding:"required,min=1"`
Shell string `form:"shell" binding:"required,min=3,max=1000"`
UserID uint
User User `form:"-" binding:"-"`
ServerID uint `form:"server" binding:"required,min=1"`
Server Server `form:"-" binding:"-"`
RepositoryID uint `form:"repo" binding:"required,min=1"`
Repository Repository `form:"-" binding:"-"`
PipeLog []PipeLog `form:"-" binding:"-"`
}
Pipeline 部署流程
type PipelineService ¶
type PipelineService interface {
Create(p *Pipeline) error
Update(p *Pipeline) error
Delete(pid uint) error
RepoPipelines(r *Repository) []Pipeline
UserPipelines(u *User) []Pipeline
UserPipeline(uid, pid uint) (Pipeline, error)
GetPipelinesByRidAndEventAndBranch(rid uint, event string, branch string) ([]Pipeline, error)
Server(p *Pipeline) error
User(p *Pipeline) error
}
PipelineService 部署流程服务
type Repository ¶
type Repository struct {
ID uint `form:"id"`
UserID uint
User User `form:"-" binding:"-"`
Secret string
Name string `form:"name" binding:"required,min=1,max=12"`
Platform int `form:"platform" binding:"required,min=1,max=4"`
Pipeline []Pipeline `form:"-" binding:"-"`
}
Repository 项目
type RepositoryService ¶
type RepositoryService interface {
Create(repo *Repository) error
Update(repo *Repository) error
Delete(rid uint) error
GetRepoByUser(user *User) []Repository
GetRepoByID(id uint) (Repository, error)
GetRepoByUserAndID(user *User, id uint) (Repository, error)
}
RepositoryService 项目服务
type Server ¶
type Server struct {
ID uint `form:"id" binding:"min=0"`
UserID uint
User User `form:"-" binding:"-"`
Pipelines []Pipeline `form:"-" binding:"-"`
Name string `form:"name" binding:"required,min=1,max=12"`
Address string `form:"address" binding:"required,address,min=1,max=30"`
Port int `form:"port" binding:"required,min=1"`
Login string `form:"login" binding:"required,alphanum,min=1,max=30"`
Status int
}
Server 服务器
type ServerService ¶
type ServerService interface {
CreateServer(s *Server) error
DeleteServer(sid uint) error
UpdateServer(s *Server) error
GetServersByUser(user *User) []Server
GetServersByUserAndSid(user *User, sid uint) (Server, error)
}
ServerService 服务器服务
type Stats ¶
type Stats struct {
UserCount int64
ServerCount int64
PipelineCount int64
RepoCount int64
RunningCount int64
PipeLogCount int64
Update time.Time
}
Stats 系统统计信息
type User ¶
type User struct {
gorm.Model
//用户GitHubID
GID uint `gorm:"unique_index"`
GName string
GLogin string
Pubkey string
PrivateKey string
//Server酱推送Key
Sckey string `form:"sckey" binding:"alphanum,min=20"`
PushSuccess bool `form:"push_success" binding:"exists"`
Servers []Server `form:"-"`
Repositories []Repository `form:"-"`
Pipelines []Pipeline `form:"-"`
IsBlocked bool
IsAdmin bool
// 用户Token
Token string
}
User 用户
Source Files
¶
Click to show internal directories.
Click to hide internal directories.





