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) | pass via ENV or Jenkins credentials (credentialsId ) |
script | (yes) | reference to Jenkins main pipeline script |
space | yes | |
username | (yes) | pass via ENV or Jenkins credentials (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: credentialsId reference 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: credentialsId 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 |
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