Add create tag to abapEnvironmentPipeline (#3870)

* Add alias

* Add step and defaults

* Add closing }

* Add test

* Remove alias

* initial copy

* Change step activation

* Change test

* Read foreign config

* Fix Syntax

* Test

* Test

* Only consider stage config

* Test config

* Test

* Test

* Change echo

* Fix

* Test

* Default test

* Uncomment

* Test different outputs

* Adapt Config

Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com>
This commit is contained in:
Daniel Mieg
2022-10-12 10:20:13 +02:00
committed by GitHub
co-authored by tiloKo
parent 4e0b4824f0
commit ebac0da332
4 changed files with 28 additions and 8 deletions
@@ -15,7 +15,7 @@ stages:
cfServiceKeyName: 'sap_com_0510' cfServiceKeyName: 'sap_com_0510'
'Clone Repositories': 'Clone Repositories':
cfServiceKeyName: 'sap_com_0510' cfServiceKeyName: 'sap_com_0510_clone_stage_default'
cfServiceKeyConfig: '{"scenario_id":"SAP_COM_0510","type":"basic"}' cfServiceKeyConfig: '{"scenario_id":"SAP_COM_0510","type":"basic"}'
ordinal: 30 ordinal: 30
@@ -40,12 +40,13 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest {
helper.registerAllowedMethod('abapEnvironmentAssembleConfirm', [Map.class], {m -> stepsCalled.add('abapEnvironmentAssembleConfirm')}) helper.registerAllowedMethod('abapEnvironmentAssembleConfirm', [Map.class], {m -> stepsCalled.add('abapEnvironmentAssembleConfirm')})
helper.registerAllowedMethod('abapAddonAssemblyKitCreateTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitCreateTargetVector')}) helper.registerAllowedMethod('abapAddonAssemblyKitCreateTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitCreateTargetVector')})
helper.registerAllowedMethod('abapAddonAssemblyKitPublishTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitPublishTargetVector')}) helper.registerAllowedMethod('abapAddonAssemblyKitPublishTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitPublishTargetVector')})
helper.registerAllowedMethod('abapEnvironmentCreateTag', [Map.class], {m -> stepsCalled.add('abapEnvironmentCreateTag')})
} }
@Test @Test
void testAbapEnvironmentRunTestsWithoutHost() { void testAbapEnvironmentRunTestsWithoutHost() {
nullScript.commonPipelineEnvironment.configuration.runStage = [ nullScript.commonPipelineEnvironment.configuration.runStage = [
'Build': true 'Build': true,
] ]
jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript) jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript)
@@ -57,6 +58,8 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest {
'abapEnvironmentAssembleConfirm', 'abapEnvironmentAssembleConfirm',
'abapAddonAssemblyKitCreateTargetVector', 'abapAddonAssemblyKitCreateTargetVector',
'abapAddonAssemblyKitPublishTargetVector')) 'abapAddonAssemblyKitPublishTargetVector'))
assertThat(stepsCalled, not(hasItems('abapEnvironmentCreateTag')))
} }
@Test @Test
@@ -64,7 +67,7 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest {
nullScript.commonPipelineEnvironment.configuration.runStage = [ nullScript.commonPipelineEnvironment.configuration.runStage = [
'Build': true 'Build': true
] ]
jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript, host: 'abc.com') jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript, host: 'abc.com', generateTagForAddonComponentVersion: true)
assertThat(stepsCalled, hasItems('abapEnvironmentAssemblePackages', assertThat(stepsCalled, hasItems('abapEnvironmentAssemblePackages',
'abapEnvironmentBuild', 'abapEnvironmentBuild',
@@ -72,7 +75,8 @@ class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest {
'abapAddonAssemblyKitReleasePackages', 'abapAddonAssemblyKitReleasePackages',
'abapEnvironmentAssembleConfirm', 'abapEnvironmentAssembleConfirm',
'abapAddonAssemblyKitCreateTargetVector', 'abapAddonAssemblyKitCreateTargetVector',
'abapAddonAssemblyKitPublishTargetVector')) 'abapAddonAssemblyKitPublishTargetVector',
'abapEnvironmentCreateTag'))
assertThat(stepsCalled, not(hasItems('cloudFoundryCreateServiceKey'))) assertThat(stepsCalled, not(hasItems('cloudFoundryCreateServiceKey')))
} }
+1 -1
View File
@@ -8,7 +8,7 @@ void call(parameters) {
stage('Init') { stage('Init') {
steps { 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 ?: [])
} }
} }
+18 -2
View File
@@ -20,7 +20,9 @@ import static com.sap.piper.Prerequisites.checkScript
'abapAddonAssemblyKitCreateTargetVector', 'abapAddonAssemblyKitCreateTargetVector',
'abapAddonAssemblyKitPublishTargetVector', 'abapAddonAssemblyKitPublishTargetVector',
/** Parameter for host config */ /** Parameter for host config */
'host' 'host',
'generateTagForAddonProductVersion',
'generateTagForAddonComponentVersion'
] ]
@Field Set STEP_CONFIG_KEYS = GENERAL_CONFIG_KEYS.plus(STAGE_STEP_KEYS) @Field Set STEP_CONFIG_KEYS = GENERAL_CONFIG_KEYS.plus(STAGE_STEP_KEYS)
@Field Set PARAMETER_KEYS = STEP_CONFIG_KEYS @Field Set PARAMETER_KEYS = STEP_CONFIG_KEYS
@@ -52,6 +54,20 @@ void call(Map parameters = [:]) {
abapEnvironmentAssembleConfirm script: parameters.script abapEnvironmentAssembleConfirm script: parameters.script
abapAddonAssemblyKitCreateTargetVector script: parameters.script abapAddonAssemblyKitCreateTargetVector script: parameters.script
abapAddonAssemblyKitPublishTargetVector(script: parameters.script, targetVectorScope: 'T') 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
}
}
} }
} }