Skip to content

xsDeploy

Description

Performs xs deployment

Parameters

name mandatory default possible values
action No NONE NONE, Resume, Abort, Retry
apiUrl Yes
credentialsId Yes
deployOpts No
dockerEnvVars No []
dockerImage No ppiper/xs-cli
dockerName No xs
dockerOptions No []
dockerPullImage No false
dockerWorkspace No \<empty>
loginOpts Yes
mode No DEPLOY NONE, DEPLOY, BG_DEPLOY
mtaPath Yes
operationId No
operationIdLogPattern No ^.*xs bg-deploy -i (.*) -a.*$
org Yes
password Yes
script Yes
space Yes
user Yes
verbose No false true, false
xsSessionFile No
  • action: Used for finalizing the blue-green deployment.
  • apiUrl: The api url (e.g. https://example.org:12345
  • credentialsId: Jenkins username/password credential for accessing xs endpoint.
  • 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.
  • dockerEnvVars: Environment variables to set in the container, e.g. [http_proxy: "proxy:8080"].
  • 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.
  • dockerName: Kubernetes only: Name of the container launching dockerImage. SideCar only: Name of the container in local network.
  • dockerOptions: Docker options to be set when starting the container.
  • dockerPullImage: Set this to 'false' to bypass a docker image pull. Usefull during development process. Allows testing of images which are available in the local registry only.
  • dockerWorkspace: Kubernetes only: Specifies a dedicated user home directory for the container which will be passed as value for environment variable HOME.
  • 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.
  • mode: Controls if there is a standard deployment or a blue green deployment. Values: 'DEPLOY', 'BG_DEPLOY'
  • mtaPath: Path to deployable
  • operationId: The operation ID. Used in case of bg-deploy in order to resume or abort a previously started deployment.
  • operationIdLogPattern: Regex pattern for retrieving the ID of the operation from the xs log.
  • org: The org
  • password: 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.
  • space: The space
  • user: User
  • verbose: verbose output
  • xsSessionFile: The file keeping the xs session.

Step Configuration

We recommend to define values of step parameters via config.yml file.

In following sections of the config.yml the configuration is possible:

parameter general step/stage
action X
apiUrl X
deployOpts X
dockerEnvVars X
dockerImage X
dockerName X
dockerOptions X
dockerPullImage X
dockerWorkspace X
loginOpts X
mode X
mtaPath X
operationId X
operationIdLogPattern X
org X
password X
space X
user X
verbose X
xsSessionFile X

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