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/abapEnvironmentCloneGitRepo.yaml
Daniel Mieg 6ff4143b08
Execute checkout & pull when already cloned (#3850)
* Execute checkout & pull when already cloned

* Revert

* Disallow config overload

* Add custom error handler for clone

* Implement new pull parameters

* Add tests

* Formatting

* Rename Param

* Add comment

* Add docu

* Adapt testst to merge

* Fix Unit Test
2022-06-30 10:43:33 +02:00

133 lines
4.3 KiB
YAML

metadata:
name: abapEnvironmentCloneGitRepo
description: Clones a git repository to a SAP BTP ABAP Environment system
longDescription: |
Clones a git repository (Software Component) to a SAP BTP ABAP Environment system. If the repository is already cloned, the step will checkout the configured branch and pull the specified commit, instead.
Please provide either of the following options:
* The host and credentials the BTP ABAP Environment system itself. The credentials must be configured for the Communication Scenario [SAP_COM_0510](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/b04a9ae412894725a2fc539bfb1ca055.html).
* The Cloud Foundry parameters (API endpoint, organization, space), credentials, the service instance for the ABAP service and the service key for the Communication Scenario SAP_COM_0510.
* Only provide one of those options with the respective credentials. If all values are provided, the direct communication (via host) has priority.
spec:
inputs:
secrets:
- name: abapCredentialsId
description: Jenkins credentials ID containing user and password to authenticate to the BTP ABAP Environment system or the Cloud Foundry API
type: jenkins
aliases:
- name: cfCredentialsId
- name: credentialsId
params:
- name: username
type: string
description: User for either the Cloud Foundry API or the Communication Arrangement for SAP_COM_0510
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
secret: true
resourceRef:
- name: abapCredentialsId
type: secret
param: username
- name: password
type: string
description: Password for either the Cloud Foundry API or the Communication Arrangement for SAP_COM_0510
scope:
- PARAMETERS
- STAGES
- STEPS
mandatory: true
secret: true
resourceRef:
- name: abapCredentialsId
type: secret
param: password
- name: repositories
type: string
description: Specifies a YAML file containing the repositories configuration
scope:
- GENERAL
- PARAMETERS
- STAGES
- STEPS
- name: repositoryName
type: string
description: Specifies a repository (Software Components) on the SAP BTP ABAP Environment system
scope:
- PARAMETERS
- STAGES
- STEPS
- name: branchName
type: string
description: Specifies a branch of a repository (Software Components) on the SAP BTP ABAP Environment system
scope:
- PARAMETERS
- STAGES
- STEPS
- name: host
type: string
description: Specifies the host address of the SAP BTP ABAP Environment system
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
- name: cfApiEndpoint
type: string
description: Cloud Foundry API Enpoint
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
aliases:
- name: cloudFoundry/apiEndpoint
- name: cfOrg
type: string
description: Cloud Foundry target organization
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
aliases:
- name: cloudFoundry/org
- name: cfSpace
type: string
description: Cloud Foundry target space
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
aliases:
- name: cloudFoundry/space
- name: cfServiceInstance
type: string
description: Cloud Foundry Service Instance
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
aliases:
- name: cloudFoundry/serviceInstance
- name: cfServiceKeyName
type: string
description: Cloud Foundry Service Key
scope:
- PARAMETERS
- STAGES
- STEPS
- GENERAL
aliases:
- name: cloudFoundry/serviceKey
- name: cloudFoundry/serviceKeyName
- name: cfServiceKey
containers:
- name: cf
image: ppiper/cf-cli:7