Documentation ¶
Index ¶
- Constants
- Variables
- type ActionExecutorConfig
- type CIV3BuildArtifact
- type CIV3BuildCache
- type FlinkSparkConf
- type Pipeline
- func (p *Pipeline) DecodeV1UniquePipelineYmlName(name string) string
- func (p *Pipeline) EnsureGC()
- func (p *Pipeline) GenIdentityInfo() apistructs.IdentityInfo
- func (p *Pipeline) GenerateNormalLabelsForCreateV2() map[string]string
- func (p *Pipeline) GenerateV1UniquePipelineYmlName(originPipelineYmlPath string) string
- func (p *Pipeline) GetCancelUserID() string
- func (p *Pipeline) GetConfigManageNamespaces() []string
- func (p *Pipeline) GetLabel(labelKey string) string
- func (p *Pipeline) GetPipelineAppliedResources() apistructs.PipelineAppliedResources
- func (p *Pipeline) GetPipelineQueueID() (uint64, bool)
- func (p *Pipeline) GetResourceGCTTL() uint64
- func (p *Pipeline) GetRunUserID() string
- func (p *Pipeline) GetSubmitUserID() string
- func (p *Pipeline) MergeLabels() map[string]string
- type PipelineArchive
- type PipelineArchiveContent
- type PipelineBase
- type PipelineCmsConfig
- type PipelineCmsConfigExtra
- type PipelineCmsNs
- type PipelineCombosReq
- type PipelineConfig
- type PipelineConfigType
- type PipelineCron
- type PipelineCronExtra
- type PipelineExtra
- type PipelineExtraInfo
- type PipelineLabel
- type PipelineOld
- type PipelineReport
- type PipelineStage
- type PipelineStageExtra
- type PipelineStageWithTask
- type PipelineTask
- type PipelineTaskContext
- type PipelineTaskExecutorKind
- type PipelineTaskExtra
- type PipelineTaskOpType
- type PipelineWithStage
- type PipelineWithTasks
- type PreStageSimple
- type QueueInfo
- type RerunFailedDetail
- type RuntimeResource
- type Snapshot
- type StoreType
- type Volume
Constants ¶
const ( //pipelineCron表的字段名 PipelineCronCronExpr = "cron_expr" PipelineCronEnable = "enable" )
const (
StoreTypeNFSProto = "file://"
)
Variables ¶
var ( PipelineTaskExecutorNameEmpty = "" PipelineTaskExecutorNameSchedulerDefault = "scheduler" PipelineTaskExecutorNameAPITestDefault = "api-test" )
Functions ¶
This section is empty.
Types ¶
type ActionExecutorConfig ¶
type CIV3BuildArtifact ¶
type CIV3BuildArtifact struct { ID int64 `json:"id" xorm:"pk autoincr BIGINT(20)"` CreatedAt time.Time `json:"createdAt" xorm:"created"` UpdatedAt time.Time `json:"updatedAt" xorm:"updated"` Sha256 string `json:"sha256" xorm:"sha_256"` // 唯一标识 IdentityText string `json:"identityText"` // 便于记忆的字段,用来生成唯一标识 Type apistructs.BuildArtifactType `json:"type"` // 类型,存的是文件在 NFS 上的地址,或者直接是文件内容 Content string `json:"content"` // 内容,根据 type 进行解析 ClusterName string `json:"clusterName"` // 集群 name PipelineID uint64 `json:"pipelineID"` // 关联的构建 ID }
func (*CIV3BuildArtifact) Convert2DTO ¶
func (artifact *CIV3BuildArtifact) Convert2DTO() *apistructs.BuildArtifact
func (*CIV3BuildArtifact) TableName ¶
func (*CIV3BuildArtifact) TableName() string
type CIV3BuildCache ¶
type CIV3BuildCache struct { ID int64 `json:"id" xorm:"pk autoincr"` Name string `json:"name"` ClusterName string `json:"clusterName"` LastPullAt time.Time `json:"lastPullAt"` CreatedAt time.Time `json:"createdAt" xorm:"created"` UpdatedAt time.Time `json:"updatedAt" xorm:"updated"` DeletedAt time.Time `xorm:"deleted"` }
func (*CIV3BuildCache) TableName ¶
func (*CIV3BuildCache) TableName() string
type FlinkSparkConf ¶
type FlinkSparkConf struct { // 该部分在 action 的 source 里声明 Depend string `json:"depends,omitempty"` MainClass string `json:"main_class,omitempty"` MainArgs []string `json:"main_args,omitempty"` // flink/spark action 运行需要一个 jar resource(flink 为 jarID,spark 为 jarURL) // 该部分在运行期动态赋值 JarResource string `json:"jarResource,omitempty"` }
type Pipeline ¶
type Pipeline struct { PipelineBase PipelineExtra Labels map[string]string }
Pipeline
func (*Pipeline) DecodeV1UniquePipelineYmlName ¶
DecodeV1UniquePipelineYmlName 根据 GenerateV1UniquePipelineYmlName 生成规则,反解析得到 originName
func (*Pipeline) GenIdentityInfo ¶
func (p *Pipeline) GenIdentityInfo() apistructs.IdentityInfo
func (*Pipeline) GenerateNormalLabelsForCreateV2 ¶
GenerateNormalLabelsForCreateV2 pipeline.createV2 有一些字段通过标签来传递,例如 commit
func (*Pipeline) GenerateV1UniquePipelineYmlName ¶
GenerateV1UniquePipelineYmlName 为 v1 pipeline 返回 pipelineYmlName,该 name 在 source 下唯一 生成规则: AppID/DiceWorkspace/Branch/PipelineYmlPath 1) 100/PROD/master/ec/dws/itm/workflow/item_1d_df_process.workflow 2) 200/DEV/feature/dice/pipeline.yml
func (*Pipeline) GetCancelUserID ¶
func (*Pipeline) GetConfigManageNamespaces ¶
func (*Pipeline) GetPipelineAppliedResources ¶
func (p *Pipeline) GetPipelineAppliedResources() apistructs.PipelineAppliedResources
GetPipelineAppliedResources return limited and min resource when pipeline run.
func (*Pipeline) GetPipelineQueueID ¶
GetPipelineQueueID return pipeline queue id if exist, or 0.
func (*Pipeline) GetResourceGCTTL ¶
func (*Pipeline) GetRunUserID ¶
func (*Pipeline) GetSubmitUserID ¶
func (*Pipeline) MergeLabels ¶
type PipelineArchive ¶
type PipelineArchive struct { ID uint64 `json:"id" xorm:"pk autoincr"` TimeCreated time.Time `json:"timeCreated" xorm:"created"` TimeUpdated time.Time `json:"timeUpdated" xorm:"updated"` PipelineID uint64 `json:"pipelineID"` PipelineSource apistructs.PipelineSource `json:"pipelineSource"` PipelineYmlName string `json:"pipelineYmlName"` Status apistructs.PipelineStatus `json:"status"` // DiceVersion record the dice version when archived, // it will impact `content` field unmarshal method DiceVersion string `json:"diceVersion"` Content PipelineArchiveContent `json:"content" xorm:"json"` }
PipelineArchive pipeline 归档表
func (*PipelineArchive) TableName ¶
func (*PipelineArchive) TableName() string
type PipelineArchiveContent ¶
type PipelineArchiveContent struct { Pipeline Pipeline `json:"pipeline"` PipelineLabels []PipelineLabel `json:"pipelineLabels"` PipelineStages []PipelineStage `json:"pipelineStages"` PipelineTasks []PipelineTask `json:"pipelineTasks"` PipelineReports []PipelineReport `json:"pipelineReports"` }
PipelineArchiveContent contains: - pipelines - pipeline_labels - pipeline_stages - pipeline_tasks
type PipelineBase ¶
type PipelineBase struct { ID uint64 `json:"id" xorm:"pk autoincr"` PipelineSource apistructs.PipelineSource `json:"pipelineSource"` PipelineYmlName string `json:"pipelineYmlName"` ClusterName string `json:"clusterName,omitempty"` Status apistructs.PipelineStatus `json:"status,omitempty"` Type apistructs.PipelineType `json:"type,omitempty"` TriggerMode apistructs.PipelineTriggerMode `json:"triggerMode,omitempty"` // 定时相关信息 // +optional CronID *uint64 `json:"cronID,omitempty"` // Snippet IsSnippet bool `json:"isSnippet"` ParentPipelineID *uint64 `json:"parentPipelineID,omitempty"` ParentTaskID *uint64 `json:"parentTaskID,omitempty"` // CostTimeSec 总耗时(秒) CostTimeSec int64 `json:"costTimeSec,omitempty"` // pipeline 总耗时/秒 // TimeBegin 执行开始时间 TimeBegin *time.Time `json:"timeBegin,omitempty"` // 执行开始时间 // TimeEnd 执行结束时间 TimeEnd *time.Time `json:"timeEnd,omitempty"` // 执行结束时间 TimeCreated *time.Time `json:"timeCreated,omitempty" xorm:"created"` TimeUpdated *time.Time `json:"timeUpdated,omitempty" xorm:"updated"` }
PipelineBase represents `pipeline_bases` table.
func (*PipelineBase) TableName ¶
func (*PipelineBase) TableName() string
type PipelineCmsConfig ¶
type PipelineCmsConfig struct { ID uint64 `json:"id" xorm:"pk autoincr"` NsID uint64 `json:"nsID"` Key string `json:"key"` Value string `json:"value"` Encrypt *bool `json:"encrypt"` Type apistructs.PipelineCmsConfigType `json:"type"` Extra PipelineCmsConfigExtra `json:"extra" xorm:"json"` TimeCreated *time.Time `json:"timeCreated,omitempty" xorm:"created"` TimeUpdated *time.Time `json:"timeUpdated,omitempty" xorm:"updated"` }
PipelineCmsConfig 配置管理命名空间下的具体配置
func (PipelineCmsConfig) BeforeSet ¶
func (c PipelineCmsConfig) BeforeSet(fieldName string, cell xorm.Cell)
BeforeSet is invoked before FromDB order: get value from db -> invoke BeforeSet -> invoke FromDB -> struct
func (PipelineCmsConfig) Equal ¶
func (c PipelineCmsConfig) Equal(another PipelineCmsConfig) bool
func (PipelineCmsConfig) TableName ¶
func (PipelineCmsConfig) TableName() string
type PipelineCmsConfigExtra ¶
type PipelineCmsConfigExtra struct { // Operations 从数据库取出时保证不为 nil Operations *apistructs.PipelineCmsConfigOperations `json:"operations"` // Comment 注释 Comment string `json:"comment"` // From 配置项来源,可为空。例如:证书管理同步 From string `json:"from"` }
func (*PipelineCmsConfigExtra) FromDB ¶
func (extra *PipelineCmsConfigExtra) FromDB(b []byte) error
FromDB 处理 operations 默认值,老数据无需通过 dbmigration 赋值
func (*PipelineCmsConfigExtra) ToDB ¶
func (extra *PipelineCmsConfigExtra) ToDB() ([]byte, error)
ToDB 为 operations 赋默认值
type PipelineCmsNs ¶
type PipelineCmsNs struct { ID uint64 `json:"id" xorm:"pk autoincr"` PipelineSource apistructs.PipelineSource `json:"pipelineSource"` Ns string `json:"ns"` TimeCreated *time.Time `json:"timeCreated,omitempty" xorm:"created"` TimeUpdated *time.Time `json:"timeUpdated,omitempty" xorm:"updated"` }
PipelineCmsNs 配置管理命名空间
func (PipelineCmsNs) TableName ¶
func (PipelineCmsNs) TableName() string
type PipelineCombosReq ¶
type PipelineConfig ¶
type PipelineConfig struct { ID uint64 `json:"id" xorm:"pk autoincr"` Type PipelineConfigType `json:"type"` Value interface{} `json:"value" xorm:"json"` }
func (PipelineConfig) TableName ¶
func (PipelineConfig) TableName() string
type PipelineConfigType ¶
type PipelineConfigType string
var (
PipelineConfigTypeActionExecutor PipelineConfigType = "action_executor"
)
type PipelineCron ¶
type PipelineCron struct { ID uint64 `json:"id" xorm:"pk autoincr"` TimeCreated time.Time `json:"timeCreated" xorm:"created"` // 记录创建时间 TimeUpdated time.Time `json:"timeUpdated" xorm:"updated"` // 记录更新时间 PipelineSource apistructs.PipelineSource `json:"pipelineSource"` PipelineYmlName string `json:"pipelineYmlName"` CronExpr string `json:"cronExpr"` //PipelineSource string `json:"pipelineSource"` Enable *bool `json:"enable"` // 1 true, 0 false Extra PipelineCronExtra `json:"extra,omitempty" xorm:"json"` // Deprecated ApplicationID uint64 `json:"applicationID" xorm:"application_id"` // Deprecated Branch string `json:"branch"` // Deprecated BasePipelineID uint64 `json:"basePipelineID"` // 用于记录最开始创建出这条 cron 记录的 pipeline id }
func (*PipelineCron) Convert2DTO ¶
func (pc *PipelineCron) Convert2DTO() *apistructs.PipelineCronDTO
func (*PipelineCron) GetAppID ¶
func (pc *PipelineCron) GetAppID() uint64
GetAppID 返回 AppID,若为 0 则表示不存在 优先级如下: 1. pc.AppID 2. pc.Extra.Labels["AppID"]
func (*PipelineCron) GetBranch ¶
func (pc *PipelineCron) GetBranch() string
GetBranch 返回 Branch, "" 则表示不存在 优先级如下: 1. pc.Branch 2. pc.Extra.Labels["Branch"]
func (PipelineCron) TableName ¶
func (PipelineCron) TableName() string
type PipelineCronExtra ¶
type PipelineCronExtra struct { PipelineYml string `json:"pipelineYml"` ClusterName string `json:"clusterName"` FilterLabels map[string]string `json:"labels"` NormalLabels map[string]string `json:"normalLabels"` // userID 存储提交流水线的用户 ID Envs map[string]string `json:"envs"` ConfigManageNamespaces []string `json:"configManageNamespaces,omitempty"` CronStartFrom *time.Time `json:"cronStartFrom,omitempty"` // 新版为 v2 Version string `json:"version"` // compensate // Compensator 老的 cron 为空,经过补偿后会自动赋值默认配置;新创建的 cron 一定会有值。 Compensator *apistructs.CronCompensator `json:"compensator,omitempty"` //每次中断补偿执行的时间,下次中断补偿从这个时间开始查询 LastCompensateAt *time.Time `json:"lastCompensateAt,omitempty"` }
PipelineCronExtra cron 扩展信息, 不参与过滤
type PipelineExtra ¶
type PipelineExtra struct { PipelineID uint64 `json:"pipelineID,omitempty" xorm:"pk 'pipeline_id'"` // PipelineYml 流水线定义文件 PipelineYml string `json:"pipelineYml"` // Extra 额外信息 Extra PipelineExtraInfo `json:"extra" xorm:"json"` // NormalLabels 普通标签,仅展示,不可过滤 NormalLabels map[string]string `json:"normalLabels" xorm:"json"` // Snapshot 运行时的快照 Snapshot Snapshot `json:"snapshot" xorm:"json"` // CommitDetail 提交详情 CommitDetail apistructs.CommitDetail `json:"commitDetail" xorm:"json"` // Progress 流水线整体执行进度,0-100 // -1 表示未设置 // progress 只存最终结果,若 >= 0,直接返回,无需再计算 Progress int `json:"progress"` ExtraTimeCreated *time.Time `json:"timeCreated,omitempty" xorm:"created 'time_created'"` ExtraTimeUpdated *time.Time `json:"timeUpdated,omitempty" xorm:"updated 'time_updated'"` // 以下为冗余字段,因为使用 sql 迁移时,无法将 应用相关字段 迁移到 labels 中,所以要先做冗余 // 新建的流水线,不会插入以下字段 Commit string `json:"commit"` OrgName string `json:"orgName"` Snippets []pipelineyml.SnippetPipelineYmlCache `json:"snippets" xorm:"snippets"` }
PipelineExtra represents `pipeline_extras` table. `pipeline_extras` 与 `pipeline_bases` 一一对应
func (*PipelineExtra) GetCommitID ¶
func (extra *PipelineExtra) GetCommitID() string
func (*PipelineExtra) GetOrgName ¶
func (extra *PipelineExtra) GetOrgName() string
func (*PipelineExtra) TableName ¶
func (*PipelineExtra) TableName() string
type PipelineExtraInfo ¶
type PipelineExtraInfo struct { Namespace string `json:"namespace"` DiceWorkspace apistructs.DiceWorkspace `json:"diceWorkspace,omitempty"` PipelineYmlSource apistructs.PipelineYmlSource `json:"pipelineYmlSource,omitempty"` SubmitUser *apistructs.PipelineUser `json:"submitUser,omitempty"` RunUser *apistructs.PipelineUser `json:"runUser,omitempty"` CancelUser *apistructs.PipelineUser `json:"cancelUser,omitempty"` InternalClient string `json:"internalClient,omitempty"` CronExpr string `json:"cronExpr,omitempty"` CronTriggerTime *time.Time `json:"cronTriggerTime,omitempty"` // 秒级精确,毫秒级误差请忽略,cron expr 精确度同样为秒级 ShowMessage *apistructs.ShowMessage `json:"showMessage,omitempty"` Messages []string `json:"errors,omitempty"` // TODO ShowMessage 和 Message // Deprecated ConfigManageNamespaceOfSecretsDefault string `json:"configManageNamespaceOfSecretsDefault,omitempty"` // Deprecated ConfigManageNamespaceOfSecrets string `json:"configManageNamespaceOfSecrets,omitempty"` ConfigManageNamespaces []string `json:"configManageNamespaces,omitempty"` CopyFromPipelineID *uint64 `json:"copyFromPipelineID,omitempty"` // 是否是从其他节点拷贝过来 RerunFailedDetail *RerunFailedDetail `json:"rerunFailedDetail,omitempty"` IsAutoRun bool `json:"isAutoRun,omitempty"` // 创建后是否自动开始执行 TaskWorkspaces []string `json:"taskWorkspaces,omitempty"` //工作目录,例如git StorageConfig apistructs.StorageConfig `json:"storageConfig,omitempty"` // 挂载设置 CallbackURLs []string `json:"callbackURLs,omitempty"` Version string `json:"version,omitempty"` // 1.1, 1.0 // 是否已经 完成 Reconciler GC CompleteReconcilerGC bool `json:"completeReconcilerGC"` // 是否已完成 Reconcile teardown CompleteReconcilerTeardown bool `json:"completeReconcilerTeardown"` // 用于保存自动转换前的 v1 pipelineYmlName(通过 V1 API 创建的流水线,通过该参数调用 gittar 获取内容) PipelineYmlNameV1 string `json:"pipelineYmlNameV1,omitempty"` // pipeline 运行时的输入参数 RunPipelineParams []apistructs.PipelineRunParam `json:"runPipelineParams,omitempty"` // GC GC apistructs.PipelineGC `json:"gc,omitempty"` // OutputDefines DefinedOutputs []apistructs.PipelineOutput `json:"definedOutputs,omitempty"` SnippetChain []uint64 `json:"snippetChain,omitempty"` QueueInfo *QueueInfo `json:"queueInfo,omitempty"` }
type PipelineLabel ¶
type PipelineLabel struct { ID uint64 `json:"id" xorm:"pk autoincr"` Type apistructs.PipelineLabelType `json:"type,omitempty"` TargetID uint64 `json:"targetID"` PipelineSource apistructs.PipelineSource `json:"pipelineSource"` PipelineYmlName string `json:"pipelineYmlName"` Key string `json:"key"` Value string `json:"value"` TimeCreated time.Time `json:"timeCreated" xorm:"created"` TimeUpdated time.Time `json:"timeUpdated" xorm:"updated"` }
PipelineLabel 标签
func (PipelineLabel) TableName ¶
func (p PipelineLabel) TableName() string
type PipelineOld ¶
type PipelineOld struct { ID uint64 `json:"id,omitempty" xorm:"pk autoincr"` // 通过 source + pipelineYmlName 唯一定位 Source apistructs.PipelineSource `json:"source,omitempty"` // 通过 v1 创建的 pipeline,自动生成唯一的 pipelineYmlName // 通过 v2 创建的 pipeline,由调用方保证 PipelineYmlName string `json:"pipelineYmlName,omitempty"` PipelineYml string `json:"pipelineYml,omitempty"` // 调度集群 // +required ClusterName string `json:"clusterName,omitempty"` // 运行时相关信息 Type apistructs.PipelineType `json:"type,omitempty"` TriggerMode apistructs.PipelineTriggerMode `json:"triggerMode,omitempty"` Snapshot Snapshot `json:"snapshot,omitempty" xorm:"json"` // 快照 Progress float64 `json:"progress,omitempty" xorm:"-"` // pipeline 执行进度, eg: 0.8 表示 80% Status apistructs.PipelineStatus `json:"status,omitempty"` Extra PipelineExtraInfo `json:"extra,omitempty" xorm:"json"` // 时间 CostTimeSec int64 `json:"costTimeSec,omitempty"` // pipeline 总耗时/秒 TimeBegin *time.Time `json:"timeBegin,omitempty"` // 执行开始时间 TimeEnd *time.Time `json:"timeEnd,omitempty"` // 执行结束时间 TimeCreated *time.Time `json:"timeCreated,omitempty" xorm:"created"` // 记录创建时间 TimeUpdated *time.Time `json:"timeUpdated,omitempty" xorm:"updated"` // 记录更新时间 // 定时相关信息 // +optional CronID *uint64 `json:"cronID,omitempty"` // deprecated BasePipelineID uint64 `json:"basePipelineID,omitempty"` // 该字段用来分页展示时 group 分组,相同 BasePipelineID 的数据会被折叠成一条,通过执行记录来跳转 // 应用相关信息 // +optional OrgID uint64 `json:"orgID,omitempty"` OrgName string `json:"orgName,omitempty"` // tag schedule ProjectID uint64 `json:"projectID,omitempty"` ProjectName string `json:"projectName,omitempty"` // tag schedule ApplicationID uint64 `json:"applicationID,omitempty"` ApplicationName string `json:"applicationName,omitempty"` // 分支相关信息 // +optional PipelineYmlSource apistructs.PipelineYmlSource `json:"pipelineYmlSource,omitempty"` // yml 文件来源 Branch string `json:"branch,omitempty"` Commit string `json:"commit,omitempty"` CommitDetail apistructs.CommitDetail `json:"commitDetail,omitempty" xorm:"json"` }
PipelineOld
func (*PipelineOld) TableName ¶
func (*PipelineOld) TableName() string
type PipelineReport ¶
type PipelineReport struct { ID uint64 `xorm:"pk autoincr"` PipelineID uint64 Type apistructs.PipelineReportType Meta apistructs.PipelineReportMeta `xorm:"json"` CreatorID string UpdaterID string CreatedAt time.Time `xorm:"created"` UpdatedAt time.Time `xorm:"updated"` }
PipelineBase represents `dice_pipeline_reports` table.
func (*PipelineReport) TableName ¶
func (*PipelineReport) TableName() string
type PipelineStage ¶
type PipelineStage struct { ID uint64 `json:"id" xorm:"pk autoincr"` PipelineID uint64 `json:"pipelineID"` Name string `json:"name"` Extra PipelineStageExtra `json:"extra" xorm:"json"` Status apistructs.PipelineStatus `json:"status"` CostTimeSec int64 `json:"costTimeSec"` TimeBegin time.Time `json:"timeBegin"` // 执行开始时间 TimeEnd time.Time `json:"timeEnd"` // 执行结束时间 TimeCreated time.Time `json:"timeCreated" xorm:"created"` // 记录创建时间 TimeUpdated time.Time `json:"timeUpdated" xorm:"updated"` // 记录更新时间 }
func (*PipelineStage) Convert2DTO ¶
func (ps *PipelineStage) Convert2DTO() *apistructs.PipelineStageDTO
func (*PipelineStage) TableName ¶
func (ps *PipelineStage) TableName() string
type PipelineStageExtra ¶
type PipelineStageExtra struct { PreStage *PreStageSimple `json:"preStage,omitempty"` StageOrder int `json:"stageOrder"` // 0,1,2,... }
type PipelineStageWithTask ¶
type PipelineStageWithTask struct { PipelineStage PipelineTasks []*PipelineTask }
type PipelineTask ¶
type PipelineTask struct { ID uint64 `json:"id" xorm:"pk autoincr"` PipelineID uint64 `json:"pipelineID"` StageID uint64 `json:"stageID"` Name string `json:"name"` OpType PipelineTaskOpType `json:"opType"` // Deprecated: get, put, task Type string `json:"type,omitempty"` // git, buildpack, release, dice ... 当 OpType 为自定义任务时为空 ExecutorKind PipelineTaskExecutorKind `json:"executorKind"` // scheduler, memory Status apistructs.PipelineStatus `json:"status"` Extra PipelineTaskExtra `json:"extra" xorm:"json"` Context PipelineTaskContext `json:"context" xorm:"json"` Result apistructs.PipelineTaskResult `json:"result" xorm:"json"` IsSnippet bool `json:"isSnippet"` // 该节点是否是嵌套流水线节点 SnippetPipelineID *uint64 `json:"snippetPipelineID"` // 嵌套的流水线 id SnippetPipelineDetail *apistructs.PipelineTaskSnippetDetail `json:"snippetPipelineDetail" xorm:"json"` // 嵌套的流水线详情 CostTimeSec int64 `json:"costTimeSec"` // -1 表示暂无耗时信息, 0 表示确实是0s结束 QueueTimeSec int64 `json:"queueTimeSec"` // 等待调度的耗时, -1 暂无耗时信息, 0 表示确实是0s结束 TODO 赋值 TimeBegin time.Time `json:"timeBegin"` // 执行开始时间 TimeEnd time.Time `json:"timeEnd"` // 执行结束时间 TimeCreated time.Time `json:"timeCreated" xorm:"created"` // 记录创建时间 TimeUpdated time.Time `json:"timeUpdated" xorm:"updated"` // 记录更新时间 }
func (*PipelineTask) Convert2DTO ¶
func (pt *PipelineTask) Convert2DTO() *apistructs.PipelineTaskDTO
func (*PipelineTask) NodeName ¶
func (pt *PipelineTask) NodeName() string
func (*PipelineTask) PrevNodeNames ¶
func (pt *PipelineTask) PrevNodeNames() []string
func (*PipelineTask) ReleaseID ¶
func (pt *PipelineTask) ReleaseID() string
func (*PipelineTask) RuntimeID ¶
func (pt *PipelineTask) RuntimeID() string
func (*PipelineTask) TableName ¶
func (*PipelineTask) TableName() string
type PipelineTaskContext ¶
type PipelineTaskContext struct { InStorages apistructs.Metadata `json:"inStorages,omitempty"` OutStorages apistructs.Metadata `json:"outStorages,omitempty"` CmsDiceFiles apistructs.Metadata `json:"cmsDiceFiles,omitempty"` }
func (*PipelineTaskContext) Dedup ¶
func (c *PipelineTaskContext) Dedup()
type PipelineTaskExecutorKind ¶
type PipelineTaskExecutorKind string
var ( PipelineTaskExecutorKindScheduler PipelineTaskExecutorKind = "SCHEDULER" PipelineTaskExecutorKindMemory PipelineTaskExecutorKind = "MEMORY" PipelineTaskExecutorKindAPITest PipelineTaskExecutorKind = "APITEST" )
type PipelineTaskExtra ¶
type PipelineTaskExtra struct { Namespace string `json:"namespace,omitempty"` ExecutorName string `json:"executorName,omitempty"` ClusterName string `json:"clusterName,omitempty"` AllowFailure bool `json:"allowFailure,omitempty"` Pause bool `json:"pause,omitempty"` Timeout time.Duration `json:"timeout,omitempty"` PrivateEnvs map[string]string `json:"envs,omitempty"` // PrivateEnvs 由 agent 注入 run 运行时,run 可见,容器内不可见 PublicEnvs map[string]string `json:"publicEnvs,omitempty"` // PublicEnvs 注入容器,run 可见,容器内亦可见 Labels map[string]string `json:"labels,omitempty"` Image string `json:"image,omitempty"` Cmd string `json:"cmd,omitempty"` CmdArgs []string `json:"cmdArgs,omitempty"` Binds []apistructs.Bind `json:"binds,omitempty"` // Volumes 创建 task 时的 volumes 快照 // 若一开始 volume 无 volumeID,启动 task 后返回的 volumeID 不会在这里更新,只会更新到 task.Context.OutStorages 里 Volumes []apistructs.MetadataField `json:"volumes,omitempty"` // PreFetcher *apistructs.PreFetcher `json:"preFetcher,omitempty"` RuntimeResource RuntimeResource `json:"runtimeResource,omitempty"` UUID string `json:"uuid"` // 用于查询日志等,pipeline 开始执行时才会赋值 // 对接多个 executor,不一定每个 executor 都能自定义 UUID,所以这个 uuid 实际上是目标系统的 uuid TimeBeginQueue time.Time `json:"timeBeginQueue"` TimeEndQueue time.Time `json:"timeEndQueue"` StageOrder int `json:"stageOrder"` // 0,1,2,... // RunAfter indicates the tasks this task depends. RunAfter []string `json:"runAfter"` FlinkSparkConf FlinkSparkConf `json:"flinkSparkConf,omitempty"` Action pipelineyml.Action `json:"action,omitempty"` OpenapiOAuth2TokenPayload apistructs.OpenapiOAuth2TokenPayload `json:"openapiOAuth2TokenPayload"` LoopOptions *apistructs.PipelineTaskLoopOptions `json:"loopOptions,omitempty"` // 开始执行后保证不为空 AppliedResources apistructs.PipelineAppliedResources `json:"appliedResources,omitempty"` }
type PipelineTaskOpType ¶
type PipelineTaskOpType string
Operation
var ( PipelineTaskOpTypeGet PipelineTaskOpType = "get" PipelineTaskOpTypePut PipelineTaskOpType = "put" PipelineTaskOpTypeTask PipelineTaskOpType = "task" )
type PipelineWithStage ¶
type PipelineWithStage struct { Pipeline PipelineStages []*PipelineStageWithTask }
type PipelineWithTasks ¶
type PipelineWithTasks struct { Pipeline *Pipeline Tasks []*PipelineTask }
func (*PipelineWithTasks) DoneTasks ¶
func (p *PipelineWithTasks) DoneTasks() []string
type PreStageSimple ¶
type PreStageSimple struct { ID uint64 `json:"id"` Status apistructs.PipelineStatus `json:"preStageStatus,omitempty"` }
type RerunFailedDetail ¶
type RerunFailedDetail struct { RerunPipelineID uint64 `json:"rerunPipelineID,omitempty"` StageIndex int `json:"stageIndex,omitempty"` SuccessTasks map[string]uint64 `json:"successTasks,omitempty"` FailedTasks map[string]uint64 `json:"failedTasks,omitempty"` NotExecuteTasks map[string]uint64 `json:"notExecuteTasks,omitempty"` }
type RuntimeResource ¶
type RuntimeResource struct { CPU float64 `json:"cpu"` Memory float64 `json:"memory"` Disk float64 `json:"disk"` }
func GenDefaultTaskResource ¶
func GenDefaultTaskResource() RuntimeResource
type Snapshot ¶
type Snapshot struct { PipelineYml string `json:"pipeline_yml,omitempty"` // 对占位符进行渲染 Secrets map[string]string `json:"secrets,omitempty"` PlatformSecrets map[string]string `json:"platformSecrets,omitempty"` CmsDiceFiles map[string]string `json:"cmsDiceFiles,omitempty"` Envs map[string]string `json:"envs,omitempty"` AnalyzedCrossCluster *bool `json:"analyzedCrossCluster,omitempty"` RunPipelineParams apistructs.PipelineRunParamsWithValue `json:"runPipelineParams,omitempty"` // 流水线运行时参数 // IdentityInfo 身份信息 IdentityInfo apistructs.IdentityInfo `json:"identityInfo" xorm:"json"` // OutputValues output 定义和从 task 里采集上来的值 OutputValues []apistructs.PipelineOutputWithValue `json:"outputValues,omitempty"` // AppliedResources calculated by all actions AppliedResources apistructs.PipelineAppliedResources `json:"appliedResources,omitempty"` // BindQueue stores the binding queue info if have. BindQueue *apistructs.PipelineQueue `json:"bindQueue,omitempty"` // Events stores pipeline level k8s-like events Events []*apistructs.PipelineEvent `json:"events,omitempty"` }