Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +k8s:openapi-gen=true Package v1 is the v1 version of the API. +groupName=config.jenkins.io +apiVersion=v1
Index ¶
- Constants
- Variables
- type CreateJenkinsfileArguments
- func (in *CreateJenkinsfileArguments) DeepCopy() *CreateJenkinsfileArguments
- func (in *CreateJenkinsfileArguments) DeepCopyInto(out *CreateJenkinsfileArguments)
- func (a *CreateJenkinsfileArguments) GenerateJenkinsfile(resolver ImportFileResolver) error
- func (a *CreateJenkinsfileArguments) Validate() error
- type CreatePipelineArguments
- type ImportFile
- type ImportFileResolver
- type Module
- type Modules
- type NamedLifecycle
- type PipelineConfig
- func (c *PipelineConfig) CreatePipelineForBuildPack(args CreatePipelineArguments) (*syntax.ParsedPipeline, int, error)
- func (in *PipelineConfig) DeepCopy() *PipelineConfig
- func (in *PipelineConfig) DeepCopyInto(out *PipelineConfig)
- func (c *PipelineConfig) ExtendPipeline(base *PipelineConfig, clearContainer bool) error
- func (c *PipelineConfig) GetAllEnvVars() map[string]string
- func (c *PipelineConfig) IsEmpty() bool
- func (c *PipelineConfig) PopulatePipelinesFromDefault()
- func (c *PipelineConfig) SaveConfig(fileName string) error
- type PipelineExtends
- type PipelineLifecycle
- func (l *PipelineLifecycle) CreateStep(mode string, step *syntax.Step) error
- func (in *PipelineLifecycle) DeepCopy() *PipelineLifecycle
- func (in *PipelineLifecycle) DeepCopyInto(out *PipelineLifecycle)
- func (l *PipelineLifecycle) Groovy() string
- func (l *PipelineLifecycle) RemoveWhenStatements(prow bool)
- func (l *PipelineLifecycle) ToJenkinsfileStatements() []*statement.Statement
- type PipelineLifecycleArray
- type PipelineLifecycles
- func (a *PipelineLifecycles) All() PipelineLifecycleArray
- func (a *PipelineLifecycles) AllButPromote() PipelineLifecycleArray
- func (in *PipelineLifecycles) DeepCopy() *PipelineLifecycles
- func (in *PipelineLifecycles) DeepCopyInto(out *PipelineLifecycles)
- func (a *PipelineLifecycles) GetLifecycle(name string, lazyCreate bool) (*PipelineLifecycle, error)
- func (a *PipelineLifecycles) Groovy() string
- func (a *PipelineLifecycles) RemoveWhenStatements(prow bool)
- type Pipelines
- func (p *Pipelines) All() []*PipelineLifecycles
- func (p *Pipelines) AllMap() map[string]*PipelineLifecycles
- func (in *Pipelines) DeepCopy() *Pipelines
- func (in *Pipelines) DeepCopyInto(out *Pipelines)
- func (p *Pipelines) Extend(base *Pipelines) error
- func (p *Pipelines) GetPipeline(kind string, lazyCreate bool) (*PipelineLifecycles, error)
- func (p *Pipelines) RemoveWhenStatements(prow bool)
Constants ¶
const ( // Name Jenkinsifile name Name = "Jenkinsfile" // BackupSuffix the suffix used by Jenkins for backups BackupSuffix = ".backup" )
const ( // PipelineConfigFileName is the name of the pipeline configuration file PipelineConfigFileName = "pipeline.yaml" // PipelineTemplateFileName defines the jenkisnfile template used to generate the pipeline PipelineTemplateFileName = "Jenkinsfile.tmpl" // PipelineKindRelease represents a release pipeline triggered on merge to master (or a release branch) PipelineKindRelease = "release" // PipelineKindPullRequest represents a Pull Request pipeline PipelineKindPullRequest = "pullrequest" // PipelineKindFeature represents a pipeline on a feature branch PipelineKindFeature = "feature" // CreateStepModePre creates steps before any existing steps CreateStepModePre = "pre" // CreateStepModePost creates steps after the existing steps CreateStepModePost = "post" // CreateStepModeReplace replaces the existing steps with the new steps CreateStepModeReplace = "replace" )
const (
// ModuleFileName the name of the module imports file name
ModuleFileName = "imports.yaml"
)
Variables ¶
var ( // PipelineKinds the possible values of pipeline PipelineKinds = []string{PipelineKindRelease, PipelineKindPullRequest, PipelineKindFeature} // PipelineLifecycleNames the possible names of lifecycles of pipeline PipelineLifecycleNames = []string{"setup", "setversion", "prebuild", "build", "postbuild", "promote"} // CreateStepModes the step creation modes CreateStepModes = []string{CreateStepModePre, CreateStepModePost, CreateStepModeReplace} )
Functions ¶
This section is empty.
Types ¶
type CreateJenkinsfileArguments ¶
type CreateJenkinsfileArguments struct { ConfigFile string TemplateFile string OutputFile string IsTekton bool ClearContainerNames bool }
CreateJenkinsfileArguments contains the arguents to generate a Jenkinsfiles dynamically
func (*CreateJenkinsfileArguments) DeepCopy ¶
func (in *CreateJenkinsfileArguments) DeepCopy() *CreateJenkinsfileArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreateJenkinsfileArguments.
func (*CreateJenkinsfileArguments) DeepCopyInto ¶
func (in *CreateJenkinsfileArguments) DeepCopyInto(out *CreateJenkinsfileArguments)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CreateJenkinsfileArguments) GenerateJenkinsfile ¶
func (a *CreateJenkinsfileArguments) GenerateJenkinsfile(resolver ImportFileResolver) error
GenerateJenkinsfile generates the jenkinsfile
func (*CreateJenkinsfileArguments) Validate ¶
func (a *CreateJenkinsfileArguments) Validate() error
Validate validates all the arguments are set correctly
type CreatePipelineArguments ¶
type CreatePipelineArguments struct { Lifecycles *PipelineLifecycles PodTemplates map[string]*corev1.Pod CustomImage string DefaultImage string WorkspaceDir string GitHost string GitName string GitOrg string ProjectID string DockerRegistry string DockerRegistryOrg string KanikoImage string UseKaniko bool NoReleasePrepare bool StepCounter int }
CreatePipelineArguments contains the arguments to translate a build pack into a pipeline
type ImportFile ¶
ImportFile represents an import of a file from a module (usually a version of a git repo)
func (*ImportFile) DeepCopy ¶
func (in *ImportFile) DeepCopy() *ImportFile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportFile.
func (*ImportFile) DeepCopyInto ¶
func (in *ImportFile) DeepCopyInto(out *ImportFile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImportFileResolver ¶
type ImportFileResolver func(importFile *ImportFile) (string, error)
ImportFileResolver resolves a build pack file resolver strategy
type Module ¶
type Module struct { Name string `json:"name,omitempty"` GitURL string `json:"gitUrl,omitempty"` GitRef string `json:"gitRef,omitempty"` }
Module defines a dependent module for a build pack
func (*Module) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Module.
func (*Module) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Modules ¶
type Modules struct {
Modules []*Module `json:"modules,omitempty"`
}
Modules defines the dependent modules for a build pack
func (*Modules) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Modules.
func (*Modules) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamedLifecycle ¶
type NamedLifecycle struct { Name string Lifecycle *PipelineLifecycle }
NamedLifecycle a lifecycle and its name
func (*NamedLifecycle) DeepCopy ¶
func (in *NamedLifecycle) DeepCopy() *NamedLifecycle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedLifecycle.
func (*NamedLifecycle) DeepCopyInto ¶
func (in *NamedLifecycle) DeepCopyInto(out *NamedLifecycle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NamedLifecycle) Groovy ¶
func (l *NamedLifecycle) Groovy() string
Groovy returns the groovy expression for this lifecycle
func (*NamedLifecycle) PutAllEnvVars ¶
func (l *NamedLifecycle) PutAllEnvVars(m map[string]string)
PutAllEnvVars puts all the defined environment variables in the given map
type PipelineConfig ¶
type PipelineConfig struct { Extends *PipelineExtends `json:"extends,omitempty"` Agent *syntax.Agent `json:"agent,omitempty"` Env []corev1.EnvVar `json:"env,omitempty"` Environment string `json:"environment,omitempty"` Pipelines Pipelines `json:"pipelines,omitempty"` ContainerOptions *corev1.Container `json:"containerOptions,omitempty"` }
PipelineConfig defines the pipeline configuration
func LoadPipelineConfig ¶
func LoadPipelineConfig(fileName string, resolver ImportFileResolver, isTekton bool, clearContainer bool) (*PipelineConfig, error)
LoadPipelineConfig returns the pipeline configuration
func LoadPipelineConfigAndMaybeValidate ¶
func LoadPipelineConfigAndMaybeValidate(fileName string, resolver ImportFileResolver, isTekton bool, clearContainer bool, skipYamlValidation bool) (*PipelineConfig, error)
LoadPipelineConfigAndMaybeValidate returns the pipeline configuration, optionally after validating the YAML.
func (*PipelineConfig) CreatePipelineForBuildPack ¶
func (c *PipelineConfig) CreatePipelineForBuildPack(args CreatePipelineArguments) (*syntax.ParsedPipeline, int, error)
CreatePipelineForBuildPack translates a set of lifecycles into a full pipeline.
func (*PipelineConfig) DeepCopy ¶
func (in *PipelineConfig) DeepCopy() *PipelineConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineConfig.
func (*PipelineConfig) DeepCopyInto ¶
func (in *PipelineConfig) DeepCopyInto(out *PipelineConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PipelineConfig) ExtendPipeline ¶
func (c *PipelineConfig) ExtendPipeline(base *PipelineConfig, clearContainer bool) error
ExtendPipeline inherits this pipeline from the given base pipeline
func (*PipelineConfig) GetAllEnvVars ¶
func (c *PipelineConfig) GetAllEnvVars() map[string]string
GetAllEnvVars finds all the environment variables defined in all pipelines + steps with the first value we find
func (*PipelineConfig) IsEmpty ¶
func (c *PipelineConfig) IsEmpty() bool
IsEmpty returns true if this configuration is empty
func (*PipelineConfig) PopulatePipelinesFromDefault ¶
func (c *PipelineConfig) PopulatePipelinesFromDefault()
PopulatePipelinesFromDefault sets the Release, PullRequest, and Feature pipelines, if unset, with the Default pipeline.
func (*PipelineConfig) SaveConfig ¶
func (c *PipelineConfig) SaveConfig(fileName string) error
SaveConfig saves the configuration file to the given project directory
type PipelineExtends ¶
type PipelineExtends struct { Import string `json:"import,omitempty"` File string `json:"file,omitempty"` }
PipelineExtends defines the extension (e.g. parent pipeline which is overloaded
func (*PipelineExtends) DeepCopy ¶
func (in *PipelineExtends) DeepCopy() *PipelineExtends
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineExtends.
func (*PipelineExtends) DeepCopyInto ¶
func (in *PipelineExtends) DeepCopyInto(out *PipelineExtends)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PipelineExtends) ImportFile ¶
func (x *PipelineExtends) ImportFile() *ImportFile
ImportFile returns an ImportFile for the given extension
type PipelineLifecycle ¶
type PipelineLifecycle struct { Steps []*syntax.Step `json:"steps,omitempty"` // PreSteps if using inheritance then invoke these steps before the base steps PreSteps []*syntax.Step `json:"preSteps,omitempty"` // Replace if using inheritance then replace steps from the base pipeline Replace bool `json:"replace,omitempty"` }
PipelineLifecycle defines the steps of a lifecycle section
func ExtendLifecycle ¶
func ExtendLifecycle(pipelineName, stageName string, parent *PipelineLifecycle, base *PipelineLifecycle, overrides []*syntax.PipelineOverride) *PipelineLifecycle
ExtendLifecycle extends the lifecycle with the inherited base lifecycle
func (*PipelineLifecycle) CreateStep ¶
func (l *PipelineLifecycle) CreateStep(mode string, step *syntax.Step) error
CreateStep creates the given step using the mode
func (*PipelineLifecycle) DeepCopy ¶
func (in *PipelineLifecycle) DeepCopy() *PipelineLifecycle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineLifecycle.
func (*PipelineLifecycle) DeepCopyInto ¶
func (in *PipelineLifecycle) DeepCopyInto(out *PipelineLifecycle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PipelineLifecycle) Groovy ¶
func (l *PipelineLifecycle) Groovy() string
Groovy returns the groovy expression for this lifecycle
func (*PipelineLifecycle) RemoveWhenStatements ¶
func (l *PipelineLifecycle) RemoveWhenStatements(prow bool)
RemoveWhenStatements removes any when conditions
func (*PipelineLifecycle) ToJenkinsfileStatements ¶
func (l *PipelineLifecycle) ToJenkinsfileStatements() []*statement.Statement
ToJenkinsfileStatements converts the lifecycle to one or more jenkinsfile statements
type PipelineLifecycleArray ¶
type PipelineLifecycleArray []NamedLifecycle
PipelineLifecycleArray an array of named lifecycle pointers
func (PipelineLifecycleArray) DeepCopy ¶
func (in PipelineLifecycleArray) DeepCopy() PipelineLifecycleArray
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineLifecycleArray.
func (PipelineLifecycleArray) DeepCopyInto ¶
func (in PipelineLifecycleArray) DeepCopyInto(out *PipelineLifecycleArray)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PipelineLifecycleArray) Groovy ¶
func (s PipelineLifecycleArray) Groovy() string
Groovy returns the groovy string for the lifecycles
type PipelineLifecycles ¶
type PipelineLifecycles struct { Setup *PipelineLifecycle `json:"setup,omitempty"` SetVersion *PipelineLifecycle `json:"setVersion,omitempty"` PreBuild *PipelineLifecycle `json:"preBuild,omitempty"` Build *PipelineLifecycle `json:"build,omitempty"` PostBuild *PipelineLifecycle `json:"postBuild,omitempty"` Promote *PipelineLifecycle `json:"promote,omitempty"` Pipeline *syntax.ParsedPipeline `json:"pipeline,omitempty"` }
PipelineLifecycles defines the steps of a lifecycle section
func ExtendPipelines ¶
func ExtendPipelines(pipelineName string, parent, base *PipelineLifecycles, overrides []*syntax.PipelineOverride) *PipelineLifecycles
ExtendPipelines extends the parent lifecycle with the base
func (*PipelineLifecycles) All ¶
func (a *PipelineLifecycles) All() PipelineLifecycleArray
All returns all lifecycles in order
func (*PipelineLifecycles) AllButPromote ¶
func (a *PipelineLifecycles) AllButPromote() PipelineLifecycleArray
AllButPromote returns all lifecycles but promote
func (*PipelineLifecycles) DeepCopy ¶
func (in *PipelineLifecycles) DeepCopy() *PipelineLifecycles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineLifecycles.
func (*PipelineLifecycles) DeepCopyInto ¶
func (in *PipelineLifecycles) DeepCopyInto(out *PipelineLifecycles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PipelineLifecycles) GetLifecycle ¶
func (a *PipelineLifecycles) GetLifecycle(name string, lazyCreate bool) (*PipelineLifecycle, error)
GetLifecycle returns the pipeline lifecycle of the given name lazy creating on the fly if required or returns an error if the name is not valid
func (*PipelineLifecycles) Groovy ¶
func (a *PipelineLifecycles) Groovy() string
Groovy returns the groovy expression for all of the lifecycles
func (*PipelineLifecycles) RemoveWhenStatements ¶
func (a *PipelineLifecycles) RemoveWhenStatements(prow bool)
RemoveWhenStatements removes any when conditions
type Pipelines ¶
type Pipelines struct { PullRequest *PipelineLifecycles `json:"pullRequest,omitempty"` Release *PipelineLifecycles `json:"release,omitempty"` Feature *PipelineLifecycles `json:"feature,omitempty"` Post *PipelineLifecycle `json:"post,omitempty"` Overrides []*syntax.PipelineOverride `json:"overrides,omitempty"` Default *syntax.ParsedPipeline `json:"default,omitempty"` }
Pipelines contains all the different kinds of pipeline for different branches
func (*Pipelines) All ¶
func (p *Pipelines) All() []*PipelineLifecycles
All returns all the lifecycles in this pipeline, some may be null
func (*Pipelines) AllMap ¶
func (p *Pipelines) AllMap() map[string]*PipelineLifecycles
AllMap returns all the lifecycles in this pipeline indexed by the pipeline name
func (*Pipelines) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pipelines.
func (*Pipelines) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Pipelines) GetPipeline ¶
func (p *Pipelines) GetPipeline(kind string, lazyCreate bool) (*PipelineLifecycles, error)
GetPipeline returns the pipeline for the given name, creating if required if lazyCreate is true or returns an error if its not a valid name
func (*Pipelines) RemoveWhenStatements ¶
RemoveWhenStatements removes any prow or !prow statements