1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/resources/metadata/gctsDeploy.yaml
Sarat Krishnan 77557c41c3
Fix(gctsDeploy) Refactoring gctsDeploy step (#2789)
* Changed gcts deploy step to include create, clone and switching branches

* Added create only flag for repository

* Changed the logic of Rollback

* Added more logs to deployCommitToAbapSystem

* Changes to deploy to abap system

* Changes to deploy to abap system

* Changes to condition for pullbycommit

* Added Current commit deploy scope handling

* Changed VCS_NO_IMPORT to take abap bool

* Added delete config functionality

* Functionality to parse boolean configuration

* Fix to get config metadata url

* Added additional error messages for switch branch

* Better error dump handling

* Better error dump handling contd

* Added dump errors to all http requests

* Error logging changes

* More Unit Tests

* Added more logs

* Updated docs for gCTS deploy

* Added scope in documentation

* Removal of some nested loops, fix of unit tests

* Documentation changes and more comments in the code

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2021-05-10 14:05:21 +02:00

139 lines
4.2 KiB
YAML

metadata:
name: gctsDeploy
description: Deploys a Git Repository to a local Repository and then to an ABAP System
longDescription: |
The steps deploys a git repository to an ABAP System. If a repository does not exists in the system, it creates and clones it to the local
repository and then deploys it into the ABAP system.
spec:
inputs:
secrets:
- name: abapCredentialsId
description: Jenkins credentials ID containing username and password for authentication to the ABAP system on which you want to deploy a commit
type: jenkins
params:
- name: username
type: string
description: User to authenticate to the ABAP system
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
secret: true
resourceRef:
- name: abapCredentialsId
type: secret
param: username
- name: password
type: string
description: Password to authenticate to the ABAP system
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
secret: true
resourceRef:
- name: abapCredentialsId
type: secret
param: password
- name: repository
type: string
description: Specifies the name (ID) of the local repsitory on the ABAP system
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
- name: host
type: string
description: Specifies the protocol and host address, including the port. Please provide in the format `<protocol>://<host>:<port>`. Supported protocols are `http` and `https`.
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
- name: client
type: string
description: Specifies the client of the ABAP system to be addressed
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
- name: commit
type: string
description: Specifies the commit to be deployed
scope:
- PARAMETERS
- STAGES
- STEPS
- name: remoteRepositoryURL
type: string
description: URL of the corresponding remote repository
mandatory: true
scope:
- PARAMETERS
- STAGES
- STEPS
- name: role
type: string
description: Role of the local repository. Choose between 'TARGET' and 'SOURCE'. Local repositories with a TARGET role will NOT be able to be the source of code changes
scope:
- PARAMETERS
- STAGES
- STEPS
possibleValues:
- SOURCE
- TARGET
- name: vSID
type: string
description: Virtual SID of the local repository. The vSID corresponds to the transport route that delivers content to the remote Git repository
scope:
- PARAMETERS
- STAGES
- STEPS
- name: type
type: string
description: Type of the used source code management tool
scope:
- PARAMETERS
- STAGES
- STEPS
default: GIT
possibleValues:
- GIT
- name: branch
type: string
description: Name of the branch to which the deploy has to be done to.
scope:
- PARAMETERS
- STAGES
- STEPS
- name: scope
type: string
description: The scope of the gcts deploy api call
scope:
- PARAMETERS
- STAGES
- STEPS
- name: rollback
type: bool
description: The rollback flag for a failure during the deploy step. A true value would mean gCTS would roll back to the last clean state
scope:
- PARAMETERS
- STAGES
- STEPS
- name: configuration
type: "map[string]interface{}"
description: "Defines the configuration values for the repository. This map needs to be created as `configKeyName`:`configKeyValue`"
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
mandatory: false
aliases:
- name: gctsRepositoryConfigurations