gctsCloneRepository¶
Clones a Git repository
Description¶
Clones a Git repository from a remote repository to a local repository on an ABAP system. To be able to execute this step, the corresponding local repository has to exist on the local ABAP system.
Usage¶
We recommend to define values of step parameters via .pipeline/config.yml file.
In this case, calling the step is essentially reduced to defining the step name.
Calling the step can be done either in an orchestrator specific way (e.g. via a Jenkins library step) or on the command line.
library('piper-lib-os')
gctsCloneRepository script: this
piper gctsCloneRepository
Prerequisites¶
This step clones a remote Git repository to a local repository on an ABAP server. To execute this step, the corresponding local repository must exist on the local ABAP system. More information about the Git-enabled Change and Transport System (gCTS).
Parameters¶
Overview - Step¶
Name | Mandatory | Additional information |
---|---|---|
client | yes | |
host | yes | |
password | (yes) | pass via ENV or Jenkins credentials (abapCredentialsId ) |
repository | yes | |
script | (yes) | reference to Jenkins main pipeline script |
username | (yes) | pass via ENV or Jenkins credentials (abapCredentialsId ) |
queryParameters | no | |
skipSSLVerification | no | |
verbose | no | activates debug output |
Overview - Execution Environment¶
Orchestrator-specific only
These parameters are relevant for orchestrator usage and not considered when using the command line option.
Name | Mandatory | Additional information |
---|---|---|
Details¶
client¶
Specifies the client of the ABAP system to be addressed
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_client (if set) |
Secret | no |
Configuration scope |
|
Resource references | none |
host¶
Specifies the protocol and host address, including the port. Please provide in the format <protocol>://<host>:<port>
. Supported protocols are http
and https
.
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_host (if set) |
Secret | no |
Configuration scope |
|
Resource references | none |
password¶
Password to authenticate to the ABAP system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_password (if set) |
Secret | yes |
Configuration scope |
|
Resource references | Jenkins credential id: id: abapCredentialsId reference to: password |
queryParameters¶
Add query parameters (for API requests) that apply to all endpoints of the step. Provide the parameters as key-value pair map in the format <query parameter>:<value>
.
Scope | Details |
---|---|
Aliases | - |
Type | map[string]interface{} |
Mandatory | no |
Default | $PIPER_queryParameters (if set) |
Secret | no |
Configuration scope |
|
Resource references | none |
repository¶
Specifies the name (ID) of the local repsitory on the ABAP system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_repository (if set) |
Secret | no |
Configuration scope |
|
Resource references | none |
script¶
Jenkins-specific: Used for proper environment setup.
The common script environment of the Jenkinsfile running. Typically the reference to the script calling the pipeline step is provided with the this
parameter, as in script: this
. This allows the function to access the commonPipelineEnvironment
for retrieving, e.g. configuration parameters.
Scope | Details |
---|---|
Aliases | - |
Type | Jenkins Script |
Mandatory | yes |
Default | |
Secret | no |
Configuration scope |
|
Resource references | none |
skipSSLVerification¶
Skip the verification of SSL (Secure Socket Layer) certificates when using HTTPS. This parameter is not recommended for productive environments.
Scope | Details |
---|---|
Aliases | - |
Type | bool |
Mandatory | no |
Default | false |
Possible values | - true - false |
Secret | no |
Configuration scope |
|
Resource references | none |
username¶
User to authenticate to the ABAP system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_username (if set) |
Secret | yes |
Configuration scope |
|
Resource references | Jenkins credential id: id: abapCredentialsId reference to: username |
verbose¶
verbose output
Scope | Details |
---|---|
Aliases | - |
Type | bool |
Mandatory | no |
Default | false |
Possible values | - true - false |
Secret | no |
Configuration scope |
|
Resource references | none |
abapCredentialsId¶
Jenkins-specific: Used for proper environment setup. See using credentials for details.
Jenkins credentials ID containing username and password for authentication to the ABAP system on which you want to clone the repository
Scope | Details |
---|---|
Aliases | - |
Type | string |
Configuration scope |
|
Example¶
Example configuration for the use in a Jenkinsfile
.
gctsCloneRepository(
script: this,
host: 'https://abap.server.com:port',
client: '000',
abapCredentialsId: 'ABAPUserPasswordCredentialsId',
repository: 'myrepo'
)
Example for the use in a YAML configuration file (such as .pipeline/config.yaml
).
steps:
<...>
gctsCloneRepository:
host: 'https://abap.server.com:port'
client: '000'
abapCredentialsId: 'ABAPUserPasswordCredentialsId'
repository: 'myrepo'