1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
sap-jenkins-library/resources/metadata/abapEnvironmentBuild.yaml
rosemarieB e90856d5bf
Generic build step (#3323)
* new step abapEnvironmentBuild

* Update piper.go

* Update abapEnvironmentBuild.go

* update yaml file

* Logging for debugging

* Update abaputils.go

* Update connector.go

* assigning connector

* delete debugging logging

* Update abapEnvironmentBuild.go

* certificate to yaml

* Update abapEnvironmentBuild.go

* add scope

* Update abapEnvironmentBuild.go

* Update abapEnvironmentBuild.yaml

* change certificate name in yaml

* test my new gitscript

* logging for debugging

* debugging...

* adding options to client.

* skip verification

* debugging

* debugging...

* switch of transportskipverification

* changing connector return

* deleting additional set options

* fixed timeout error

* adding certificate

* testing without certificate set

* testing with certificate set

* download, publish and value logic

* write values to cpe

* logging

* adding condition on string length

* change publishmethod and some logging

* change download method -> using references

* evaluation of parameter for download

* add case for empty string

* adding unittests

* Update mockClient.go

* make abapEnvironmentBuildUtilsBundle powerful

* refactor abapEnvironmentBuild into pieces

* check error message

* check error message 2

* check error message 3

* check error message 4

* remove check error message

* cleanup

* adding unittests

* unittests and docu

* docu

* docu

* Update abapEnvironmentBuild.md

* removing trailing spaces and adding empty lines in docu

* Update abapEnvironmentBuild.md

* fixing unittest and PR recommen

* Update abapEnvironmentPipelineStageBuild.groovy

* Update abapEnvironmentPipelineStageBuild.groovy

* Update abapEnvironmentPipelineStageBuild.groovy

* Update abapEnvironmentPipelineStageBuild.groovy

* changes derived from pull request

Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com>
2021-12-06 14:43:37 +01:00

220 lines
6.2 KiB
YAML

metadata:
name: abapEnvironmentBuild
description: "Executes builds as defined with the build framework"
longDescription: |
Executes builds as defined with the build framework. Transaction overview /n/BUILD/OVERVIEW
spec:
inputs:
secrets:
- name: abapCredentialsId
description: Jenkins credentials ID containing user and password to authenticate to the Cloud Platform ABAP Environment system or the Cloud Foundry API
type: jenkins
aliases:
- name: cfCredentialsId
- name: credentialsId
params:
- name: cfApiEndpoint
type: string
description: Cloud Foundry API endpoint
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: false
aliases:
- name: cloudFoundry/apiEndpoint
- name: cfOrg
type: string
description: Cloud Foundry target organization
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: false
aliases:
- name: cloudFoundry/org
- name: cfSpace
type: string
description: Cloud Foundry target space
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: false
aliases:
- name: cloudFoundry/space
- name: cfServiceInstance
type: string
description: Cloud Foundry Service Instance
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: false
aliases:
- name: cloudFoundry/serviceInstance
- name: cfServiceKeyName
type: string
description: Cloud Foundry Service Key
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: false
aliases:
- name: cloudFoundry/serviceKey
- name: cloudFoundry/serviceKeyName
- name: cfServiceKey
- name: host
description: Specifies the host address of the SAP Cloud Platform ABAP Environment system
type: string
mandatory: false
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
- name: username
type: string
description: User
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
secret: true
- name: password
type: string
description: Password
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
secret: true
- name: phase
type: string
mandatory: true
description: Phase as specified in the build script in the backend system
scope:
- PARAMETERS
- STAGES
- STEPS
- name: values
type: string
description: Input values for the build framework
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: false
- name: downloadAllResultFiles
type: bool
mandatory: true
default: false
description: If true, all build artefacts are downloaded
scope:
- PARAMETERS
- STAGES
- STEPS
- name: downloadResultFilenames
type: "[]string"
mandatory: false
description: Only the specified files are downloaded, downloadAllResultFiles is true, this parameter is ignored
scope:
- PARAMETERS
- STAGES
- STEPS
- name: publishAllDownloadedResultFiles
type: bool
mandatory: true
default: false
description: If true, it publishes all downloaded files
scope:
- PARAMETERS
- STAGES
- STEPS
- name: publishResultFilenames
type: "[]string"
mandatory: false
description: Only the specified files get published, in case the file was not downloaded before an error occures
scope:
- PARAMETERS
- STAGES
- STEPS
- name: subDirectoryForDownload
type: string
mandatory: false
description: Target directory to store the downloaded files, {buildID} and {taskID} can be used and will be resolved accordingly
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
- name: filenamePrefixForDownload
type: string
mandatory: false
description: Filename prefix for the downloaded files, {buildID} and {taskID} can be used and will be resolved accordingly
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
- name: treatWarningsAsError
type: bool
mandatory: true
default: false
description: If a warrning occures, the step will be set to unstable
scope:
- PARAMETERS
- STAGES
- STEPS
- name: maxRuntimeInMinutes
type: int
description: maximal runtime of the step in minutes
mandatory: true
default: 360
scope:
- PARAMETERS
- STAGES
- STEPS
- name: pollingIntervallInSeconds
type: int
description: wait time in seconds till next status request in the backend system
mandatory: true
default: 60
scope:
- PARAMETERS
- STAGES
- STEPS
- name: certificateNames
type: "[]string"
description: certificates for the backend system, this certificates needs to be stored in .pipeline/trustStore
mandatory: false
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
- name: cpeValues
type: string
description: Values taken from the previous step, if a value was also specified in the config file, the value from cpe will be discarded
mandatory: false
resourceRef:
- name: commonPipelineEnvironment
param: abap/buildValues
outputs:
resources:
- name: commonPipelineEnvironment
type: piperEnvironment
params:
- name: abap/buildValues
containers:
- name: cf
image: ppiper/cf-cli:7