in pkg/controller/jenkins_job/chain/put_jenkins_pipeline.go [132:163]
func (h PutJenkinsPipeline) createStageConfig(s *cdPipeApi.Stage, ps, conf string) (*string, error) {
pipeSrc := map[string]interface{}{
"type": "default",
"library": map[string]string{},
}
if s.Spec.Source.Type == consts.LibraryCodebase {
h.setPipeSrcParams(s, pipeSrc)
}
tmpl, err := template.New("cd-pipeline.tmpl").Parse(conf)
if err != nil {
return nil, fmt.Errorf("failed to create new template: %w", err)
}
params := map[string]interface{}{
"name": s.Spec.Name,
"gitServerCrVersion": "v2",
"pipelineStages": ps,
"source": pipeSrc,
}
var cdPipelineBuffer bytes.Buffer
if err := tmpl.Execute(&cdPipelineBuffer, params); err != nil {
return nil, fmt.Errorf("failed to execute: %w", err)
}
pipeConf := cdPipelineBuffer.String()
return &pipeConf, nil
}