You've already forked sap-jenkins-library
							
							
				mirror of
				https://github.com/SAP/jenkins-library.git
				synced 2025-10-30 23:57:50 +02:00 
			
		
		
		
	ABAP assemblePackages Alternative phase name (#5469)
This commit is contained in:
		| @@ -86,7 +86,7 @@ func runAssemblePackages(config *abapEnvironmentAssemblePackagesOptions, com aba | ||||
| 		return nil, errConBuild | ||||
| 	} | ||||
|  | ||||
| 	builds, err := executeBuilds(addonDescriptor, *connBuild, time.Duration(config.MaxRuntimeInMinutes)*time.Minute, time.Duration(config.PollIntervalsInMilliseconds)*time.Millisecond) | ||||
| 	builds, err := executeBuilds(addonDescriptor, *connBuild, time.Duration(config.MaxRuntimeInMinutes)*time.Minute, time.Duration(config.PollIntervalsInMilliseconds)*time.Millisecond, config.AlternativePhaseName) | ||||
| 	if err != nil { | ||||
| 		return builds, errors.Wrap(err, "Starting Builds for Repositories with reserved AAKaaS packages failed") | ||||
| 	} | ||||
| @@ -111,7 +111,7 @@ func runAssemblePackages(config *abapEnvironmentAssemblePackagesOptions, com aba | ||||
| 	return builds, nil | ||||
| } | ||||
|  | ||||
| func executeBuilds(addonDescriptor *abaputils.AddonDescriptor, conn abapbuild.Connector, maxRuntimeInMinutes time.Duration, pollInterval time.Duration) ([]buildWithRepository, error) { | ||||
| func executeBuilds(addonDescriptor *abaputils.AddonDescriptor, conn abapbuild.Connector, maxRuntimeInMinutes time.Duration, pollInterval time.Duration, altenativePhaseName string) ([]buildWithRepository, error) { | ||||
| 	var builds []buildWithRepository | ||||
|  | ||||
| 	for _, repo := range addonDescriptor.Repositories { | ||||
| @@ -125,7 +125,7 @@ func executeBuilds(addonDescriptor *abaputils.AddonDescriptor, conn abapbuild.Co | ||||
|  | ||||
| 		if repo.Status == "P" { | ||||
| 			buildRepo.repo.InBuildScope = true | ||||
| 			err := buildRepo.start(addonDescriptor) | ||||
| 			err := buildRepo.start(addonDescriptor, altenativePhaseName) | ||||
| 			if err != nil { | ||||
| 				buildRepo.build.RunState = abapbuild.Failed | ||||
| 				buildRepo.repo.ErrorText = fmt.Sprint(err) | ||||
| @@ -169,7 +169,7 @@ func (br *buildWithRepository) waitToBeFinished(maxRuntimeInMinutes time.Duratio | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (br *buildWithRepository) start(addonDescriptor *abaputils.AddonDescriptor) error { | ||||
| func (br *buildWithRepository) start(addonDescriptor *abaputils.AddonDescriptor, altenativePhaseName string) error { | ||||
| 	if br.repo.Name == "" || br.repo.Version == "" || br.repo.SpLevel == "" || br.repo.PackageType == "" || br.repo.PackageName == "" { | ||||
| 		return errors.New("Parameters missing. Please provide software component name, version, sp-level, packagetype and packagename") | ||||
| 	} | ||||
| @@ -234,8 +234,15 @@ func (br *buildWithRepository) start(addonDescriptor *abaputils.AddonDescriptor) | ||||
| 			abapbuild.Value{ValueID: "ADDITIONAL_PIECELIST", | ||||
| 				Value: br.repo.AdditionalPiecelist}) | ||||
| 	} | ||||
| 	phase := "BUILD_" + br.repo.PackageType | ||||
| 	log.Entry().Infof("Starting assembly of package %s", br.repo.PackageName) | ||||
|  | ||||
| 	var phase string | ||||
| 	if altenativePhaseName != "" { | ||||
| 		phase = altenativePhaseName | ||||
| 	} else { | ||||
| 		phase = "BUILD_" + br.repo.PackageType | ||||
| 	} | ||||
|  | ||||
| 	log.Entry().Infof("Starting assembly of package %s as %s", br.repo.PackageName, phase) | ||||
| 	return br.build.Start(phase, valuesInput) | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -31,6 +31,7 @@ type abapEnvironmentAssemblePackagesOptions struct { | ||||
| 	MaxRuntimeInMinutes         int      `json:"maxRuntimeInMinutes,omitempty"` | ||||
| 	PollIntervalsInMilliseconds int      `json:"pollIntervalsInMilliseconds,omitempty"` | ||||
| 	CertificateNames            []string `json:"certificateNames,omitempty"` | ||||
| 	AlternativePhaseName        string   `json:"alternativePhaseName,omitempty"` | ||||
| } | ||||
|  | ||||
| type abapEnvironmentAssemblePackagesCommonPipelineEnvironment struct { | ||||
| @@ -213,6 +214,7 @@ func addAbapEnvironmentAssemblePackagesFlags(cmd *cobra.Command, stepConfig *aba | ||||
| 	cmd.Flags().IntVar(&stepConfig.MaxRuntimeInMinutes, "maxRuntimeInMinutes", 360, "maximal runtime of the step in minutes") | ||||
| 	cmd.Flags().IntVar(&stepConfig.PollIntervalsInMilliseconds, "pollIntervalsInMilliseconds", 60000, "wait time in milliseconds till next status request in the backend system") | ||||
| 	cmd.Flags().StringSliceVar(&stepConfig.CertificateNames, "certificateNames", []string{}, "file names of trusted (self-signed) server certificates - need to be stored in .pipeline/trustStore") | ||||
| 	cmd.Flags().StringVar(&stepConfig.AlternativePhaseName, "alternativePhaseName", os.Getenv("PIPER_alternativePhaseName"), "overrides default phase name") | ||||
|  | ||||
| 	cmd.MarkFlagRequired("username") | ||||
| 	cmd.MarkFlagRequired("password") | ||||
| @@ -348,6 +350,15 @@ func abapEnvironmentAssemblePackagesMetadata() config.StepData { | ||||
| 						Aliases:     []config.Alias{}, | ||||
| 						Default:     []string{}, | ||||
| 					}, | ||||
| 					{ | ||||
| 						Name:        "alternativePhaseName", | ||||
| 						ResourceRef: []config.ResourceReference{}, | ||||
| 						Scope:       []string{"PARAMETERS", "STAGES", "STEPS", "GENERAL"}, | ||||
| 						Type:        "string", | ||||
| 						Mandatory:   false, | ||||
| 						Aliases:     []config.Alias{}, | ||||
| 						Default:     os.Getenv("PIPER_alternativePhaseName"), | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, | ||||
| 			Containers: []config.Container{ | ||||
|   | ||||
| @@ -72,7 +72,7 @@ func TestStartingInvalidInput(t *testing.T) { | ||||
| 				}, | ||||
| 			}, | ||||
| 		} | ||||
| 		builds, err := executeBuilds(&aD, *conn, time.Duration(0*time.Second), time.Duration(1*time.Millisecond)) | ||||
| 		builds, err := executeBuilds(&aD, *conn, time.Duration(0*time.Second), time.Duration(1*time.Millisecond), "") | ||||
| 		assert.NoError(t, err) | ||||
| 		assert.Equal(t, 1, len(builds)) | ||||
| 		assert.Equal(t, abapbuild.Failed, builds[0].build.RunState) | ||||
|   | ||||
| @@ -140,6 +140,15 @@ spec: | ||||
|           - STAGES | ||||
|           - STEPS | ||||
|           - GENERAL | ||||
|       - name: alternativePhaseName | ||||
|         description: overrides default phase name | ||||
|         type: string | ||||
|         mandatory: false | ||||
|         scope: | ||||
|           - PARAMETERS | ||||
|           - STAGES | ||||
|           - STEPS | ||||
|           - GENERAL | ||||
|   outputs: | ||||
|     resources: | ||||
|       - name: commonPipelineEnvironment | ||||
|   | ||||
		Reference in New Issue
	
	Block a user