diff --git a/resources/com.sap.piper/pipeline/abapEnvironmentPipelineStageDefaults.yml b/resources/com.sap.piper/pipeline/abapEnvironmentPipelineDefaults.yml similarity index 95% rename from resources/com.sap.piper/pipeline/abapEnvironmentPipelineStageDefaults.yml rename to resources/com.sap.piper/pipeline/abapEnvironmentPipelineDefaults.yml index 7a8fcfec5..8e90c8815 100644 --- a/resources/com.sap.piper/pipeline/abapEnvironmentPipelineStageDefaults.yml +++ b/resources/com.sap.piper/pipeline/abapEnvironmentPipelineDefaults.yml @@ -15,7 +15,7 @@ stages: cfServiceKeyName: 'sap_com_0510' 'Clone Repositories': - cfServiceKeyName: 'sap_com_0510' + cfServiceKeyName: 'sap_com_0510_clone_stage_default' cfServiceKeyConfig: '{"scenario_id":"SAP_COM_0510","type":"basic"}' ordinal: 30 diff --git a/test/groovy/templates/AbapEnvironmentPipelineStageBuild.groovy b/test/groovy/templates/AbapEnvironmentPipelineStageBuild.groovy index 20b76e715..4d84a229c 100644 --- a/test/groovy/templates/AbapEnvironmentPipelineStageBuild.groovy +++ b/test/groovy/templates/AbapEnvironmentPipelineStageBuild.groovy @@ -40,12 +40,13 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest { helper.registerAllowedMethod('abapEnvironmentAssembleConfirm', [Map.class], {m -> stepsCalled.add('abapEnvironmentAssembleConfirm')}) helper.registerAllowedMethod('abapAddonAssemblyKitCreateTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitCreateTargetVector')}) helper.registerAllowedMethod('abapAddonAssemblyKitPublishTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitPublishTargetVector')}) + helper.registerAllowedMethod('abapEnvironmentCreateTag', [Map.class], {m -> stepsCalled.add('abapEnvironmentCreateTag')}) } - + @Test void testAbapEnvironmentRunTestsWithoutHost() { nullScript.commonPipelineEnvironment.configuration.runStage = [ - 'Build': true + 'Build': true, ] jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript) @@ -57,6 +58,8 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest { 'abapEnvironmentAssembleConfirm', 'abapAddonAssemblyKitCreateTargetVector', 'abapAddonAssemblyKitPublishTargetVector')) + assertThat(stepsCalled, not(hasItems('abapEnvironmentCreateTag'))) + } @Test @@ -64,7 +67,7 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest { nullScript.commonPipelineEnvironment.configuration.runStage = [ 'Build': true ] - jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript, host: 'abc.com') + jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript, host: 'abc.com', generateTagForAddonComponentVersion: true) assertThat(stepsCalled, hasItems('abapEnvironmentAssemblePackages', 'abapEnvironmentBuild', @@ -72,7 +75,8 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest { 'abapAddonAssemblyKitReleasePackages', 'abapEnvironmentAssembleConfirm', 'abapAddonAssemblyKitCreateTargetVector', - 'abapAddonAssemblyKitPublishTargetVector')) + 'abapAddonAssemblyKitPublishTargetVector', + 'abapEnvironmentCreateTag')) assertThat(stepsCalled, not(hasItems('cloudFoundryCreateServiceKey'))) } diff --git a/vars/abapEnvironmentPipeline.groovy b/vars/abapEnvironmentPipeline.groovy index 2135cec00..a72928c16 100644 --- a/vars/abapEnvironmentPipeline.groovy +++ b/vars/abapEnvironmentPipeline.groovy @@ -8,7 +8,7 @@ void call(parameters) { stage('Init') { steps { - abapEnvironmentPipelineStageInit script: parameters.script, customDefaults: ['com.sap.piper/pipeline/abapEnvironmentPipelineStageDefaults.yml'].plus(parameters.customDefaults ?: []) + abapEnvironmentPipelineStageInit script: parameters.script, customDefaults: ['com.sap.piper/pipeline/abapEnvironmentPipelineDefaults.yml'].plus(parameters.customDefaults ?: []) } } diff --git a/vars/abapEnvironmentPipelineStageBuild.groovy b/vars/abapEnvironmentPipelineStageBuild.groovy index d575d9aa4..e9d6ef346 100644 --- a/vars/abapEnvironmentPipelineStageBuild.groovy +++ b/vars/abapEnvironmentPipelineStageBuild.groovy @@ -20,7 +20,9 @@ import static com.sap.piper.Prerequisites.checkScript 'abapAddonAssemblyKitCreateTargetVector', 'abapAddonAssemblyKitPublishTargetVector', /** Parameter for host config */ - 'host' + 'host', + 'generateTagForAddonProductVersion', + 'generateTagForAddonComponentVersion' ] @Field Set STEP_CONFIG_KEYS = GENERAL_CONFIG_KEYS.plus(STAGE_STEP_KEYS) @Field Set PARAMETER_KEYS = STEP_CONFIG_KEYS @@ -52,6 +54,20 @@ void call(Map parameters = [:]) { abapEnvironmentAssembleConfirm script: parameters.script abapAddonAssemblyKitCreateTargetVector script: parameters.script abapAddonAssemblyKitPublishTargetVector(script: parameters.script, targetVectorScope: 'T') + if (config.generateTagForAddonComponentVersion || config.generateTagForAddonProductVersion) { + try { + Set keys = [ 'cfServiceKeyName' ] + Map configClone = ConfigurationHelper.newInstance(this) + .mixin(ConfigurationLoader.defaultStageConfiguration(script, 'Clone Repositories')) + .mixinGeneralConfig(script.commonPipelineEnvironment, keys) + .mixinStepConfig(script.commonPipelineEnvironment, keys) + .mixinStageConfig(script.commonPipelineEnvironment, 'Clone Repositories', keys) + .mixin(parameters, keys) + .use() + abapEnvironmentCreateTag(script: parameters.script, cfServiceKeyName: configClone.cfServiceKeyName) + } catch (e) { + echo 'Tag creation failed: ' + e.message + } + } } - }