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.