xsDeploy¶
Performs xs deployment
Description¶
Performs xs deployment
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')
xsDeploy script: this
piper xsDeploy
Outputs¶
| Output type | Details |
|---|---|
| commonPipelineEnvironment |
|
Parameters¶
Overview - Step¶
| Name | Mandatory | Additional information |
|---|---|---|
| apiUrl | yes | |
| loginOpts | yes | |
| mtaPath | yes | |
| org | yes | |
| password | (yes) | credentialsId) |
| script | (yes) | |
| space | yes | |
| username | (yes) | credentialsId) |
| action | no | |
| deployOpts | no | |
| mode | no | |
| operationId | no | |
| operationIdLogPattern | no | |
| verbose | no | activates debug output |
| xsSessionFile | no |
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 |
|---|---|---|
| containerCommand | no | |
| containerShell | no | |
| dockerEnvVars | no | |
| dockerImage | no | |
| dockerName | no | |
| dockerOptions | no | |
| dockerPullImage | no | |
| dockerVolumeBind | no | |
| dockerWorkspace | no |
Details¶
action¶
Used for finalizing the blue-green deployment.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | NONE |
| Possible values | - NONE- Resume- Abort- Retry |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
apiUrl¶
The api url (e.g. https://example.org:12345
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_apiUrl (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
containerCommand¶
Jenkins-specific: Used for proper environment setup.
Kubernetes only: Allows to specify start command for container created with dockerImage parameter to overwrite Piper default (/usr/bin/tail -f /dev/null).
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
containerShell¶
Jenkins-specific: Used for proper environment setup.
Allows to specify the shell to be executed for container with containerName.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
deployOpts¶
Additional options appended to the deploy command. Only needed for sophisticated cases. When provided it is the duty of the provider to ensure proper quoting / escaping.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | $PIPER_deployOpts (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerEnvVars¶
Environment variables to set in the container, e.g. [http_proxy: "proxy:8080"].
| Scope | Details |
|---|---|
| Aliases | - |
| Type | map[string]string |
| Mandatory | no |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerImage¶
Name of the docker image that should be used. If empty, Docker is not used and the command is executed directly on the Jenkins system.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | ppiper/xs-cli |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerName¶
Kubernetes only: Name of the container launching dockerImage. SideCar only: Name of the container in local network.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | xs |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerOptions¶
Docker options to be set when starting the container.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | []string |
| Mandatory | no |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerPullImage¶
Set this to 'false' to bypass a docker image pull. Useful during development process. Allows testing of images which are available in the local registry only.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | bool |
| Mandatory | no |
| Default | true |
| Possible values | - true- false |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerVolumeBind¶
Jenkins-specific: Used for proper environment setup.
Volumes that should be mounted into the docker container.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | map[string]string |
| Mandatory | no |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
dockerWorkspace¶
Jenkins-specific: Used for proper environment setup.
Kubernetes only: Specifies a dedicated user home directory for the container which will be passed as value for environment variable HOME.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
loginOpts¶
Additional options appended to the login command. Only needed for sophisticated cases. When provided it is the duty of the provider to ensure proper quoting / escaping.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_loginOpts (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
mode¶
Controls if there is a standard deployment or a blue green deployment. Values: 'DEPLOY', 'BG_DEPLOY'
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | DEPLOY |
| Possible values | - NONE- DEPLOY- BG_DEPLOY |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
mtaPath¶
Path to deployable
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_mtaPath (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | commonPipelineEnvironment: reference to: mtaPath |
operationId¶
The operation ID. Used in case of bg-deploy in order to resume or abort a previously started deployment.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | $PIPER_operationId (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | commonPipelineEnvironment: reference to: operationId |
operationIdLogPattern¶
Regex pattern for retrieving the ID of the operation from the xs log.
| Scope | Details |
|---|---|
| Aliases | deployIdLogPattern |
| Type | string |
| Mandatory | no |
| Default | ^.*"xs bg-deploy -i (.*) -a .*".*$ |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
org¶
The org
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_org (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
password¶
Password
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_password (if set) |
| Secret | yes |
| Configuration scope |
|
| Resource references | Jenkins credential id: id: credentialsIdreference to: password |
script¶
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 |
space¶
The space
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_space (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
username¶
Username
| Scope | Details |
|---|---|
| Aliases | user (deprecated) |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_username (if set) |
| Secret | yes |
| Configuration scope |
|
| Resource references | Jenkins credential id: id: credentialsIdreference 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 |
xsSessionFile¶
The file keeping the xs session.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | .xsconfig |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
credentialsId¶
Jenkins 'Username with password' credentials ID containing username/password for accessing xs endpoint.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Configuration scope |
|
Side effects¶
none
Example¶
xsDeploy
script: this,
mtaPath: 'path/to/archiveFile.mtar',
credentialsId: 'my-credentials-id',
apiUrl: 'https://example.org/xs',
space: 'mySpace',
org: 'myOrg'
Example configuration:
steps:
<...>
xsDeploy:
mtaPath: path/to/archiveFile.mtar
credentialsId: my-credentials-id
apiUrl: https://example.org/xs
space: mySpace
org: myOrg