Valid since:
XL Deploy 8.5.0
XL Release 8.5.0
XL JetPack 8.5.0

This topic describes syntax and examples for the XL Command Line Interface (XL CLI). To display the XL CLI help output, type the following from your command line:

xl help

Commands

General usage: xl [command] [flag] [parameters]

Commands (version 8.6)

Available commands: apply blueprint generate help ide license preview version wrapper

Commands (version 8.5)

Available commands: apply blueprint generate help license version wrapper

Command details

For each XL CLI command, this section describes the command syntax, command-specific flags, important details and some examples.

Tip: Type xl help for a list of global flags that can also be applied when issuing commands. Also, see Global flags for a list of flags, descriptions and default values.

xl apply command details

Use the xl apply command to execute YAML specifications.

Syntax

xl apply [flag] [value]

Command-specific flags

Flag Description
-d, --file stringarray Detach the client at the moment of starting a deployment or release
-f, --file stringarray Required. Path(s) to the file(s) to apply
-h, --help Help for the apply command
--values stringToString Values (default [])

File order processing

You must choose at least on YAML file to perform an apply operation, but if you want to execute two or more YAML files, you can use one of the following methods:

Import kind YAML : The preferred method is to use a separate YAML file of the kind “Import” and list the YAML files to apply in order.

For example, you can create a YAML file called import-yamls.yaml

apiVersion: xl/v1
kind: Import
metadata:
  imports:
    - infra.yaml
    - env.yaml
    - app.yaml
    - xlr-pipeline.yaml

Using this method, you can then simply run the xl apply -f /tmp/import-yamls.yaml file which will in turn sequentially run the YAML files listed in the imports: section.

String multiple files in the CLI: You can also specify multiple YAML files to apply in order when running the xl apply command. For example:

xl apply -f /tmp/infra.yaml -f /tmp/env.yaml -f /tmp/app.yaml -f xlr-pipeline.yaml

Examples

xl apply -f /tmp/infra.yaml
xl apply -f /tmp/infra.yaml -f /tmp/env.yaml -f /tmp/app.yaml -f /tmp/xlr-pipeline.yaml
xl apply -f xebialabs.yaml -d

xl blueprint command details

You can use the xl blueprint command to run blueprints.

Syntax

xl blueprint [flag] [parameter]

Command-specific flags

Flag Description
-b, --blueprint string The folder containing the blueprint to use. Can be a folder path relative to the remote blueprint repository, or an absolute/relative local folder path
-h, --help Help for the blueprint command

Examples

The examples shown depend on the version of XL CLI you are using.

Examples (version 8.6)
xl blueprint --blueprint-current-repository my-github -b path/to/remote/blueprint
xl blueprint -b /path/to/local/blueprint/dir
xl blueprint -b ../relative/path/to/local/blueprint/dir

Note: For the first example, my-github must be listed in the XL CLI config file.

Examples (version 8.5)
xl blueprint --blueprint-repository-url <registry_location>/blueprints
xl blueprint --blueprint-repository-url https://mycompany/myblueprints --blueprint-repository-username USERNAME --blueprint-repository-password PASSWORD
xl blueprint -b /path/to/local/blueprint/dir
xl blueprint -b ../relative/path/to/local/blueprint/dir

About Blueprint repositories

You have flexible options and considerations when managing one or more blueprint repositories. Your options depend on the version of the XL CLI you are using. See Managing blueprint repositories for more information.

xl generate command details

Use the xl generate command to generate a YAML file for existing configurations in XL Deploy or XL Release. You can use the generated specifications to extend or build your own specifications that can be executed directly using the XL CLI using the xl apply command.

See Work with the YAML format for details on YAML file root fields, kind fields and spec section options.

Important: There are limitations to the number of objects you can generate:

  • For XL Deploy, the generate operation is limited to 256 configuration items (CIs).
  • For XL Release, a reasonable limit to the number of templates you can generate is enforced.

Syntax

xl generate [flag] [value]

Command-specific flags

Flag Description
-f, --file string Required. Path and filename where the generated YAML file will be stored
-h, --help Help for the generate command
-o, --override Set to true to overwrite an existing YAML file with the same name in the target directory
-p, --path string Required. Server path which will be generated
-s, --server string Server from which the YAML file will be generated. Can be xl-deploy (default) or xl-release

Examples

XL Deploy examples
xl generate -p Applications -f /tmp/applications.yaml
xl generate -p Applications/PetPortal/1.0 -f applications.yaml
xl generate -p Environments -f /tmp/env.yaml
xl generate -p Infrastructure -f /tmp/infra.yaml
xl generate -p Configuration -f /tmp/config.yaml

XL Release examples

Note: For XL Release, you need to use the -s flag to explicitly identify the XL Release server.

xl generate -s xl-release -p Templates/MyTemplate -f template.yaml
xl generate -s xl-release -p Templates/MyTemplate -f /tmp/template.yaml

xl license command details

You can display license information for the open source software used in the XL CLI using the xl license command.

Command-specific flags

Flag Description
-h, --help Help for the version command

Examples

xl license

xl preview command details (version 8.6)

As of version 8.6, you can use the xl preview command with YAML files of the following kind:

  • Deployment kind: Preview the deployment plan by running the xl apply command.
  • Release kind: Preview the release phases and tasks by running the xl apply command.

In both cases, the xl preview command will not execute any actions. It will simply provide output that details the actions the xl apply command will take, enabling you to inspect the actions and make adjustments to the YAML if needed before applying.

Command-specific flags

Flag Description
-f, --file stringarray Required. Path(s) to the file(s) to preview
-h, --help Help for the preview command
--values stringToString Values (default [])

Examples

xl preview -f deploy-myapp.yaml

xl version command details

You can display version information for the XL CLI using the xl version command.

Command-specific flags

Flag Description
-h, --help Help for the version command

Examples

xl version

xl wrapper command details

You can use the xl wrapper command to generate wrapper scripts to bootstrap the XL CLI commands on your Continuous Integration (CI) servers without having to install the XL CLI executable itself. See Use a wrapper script for details.

Syntax

xl wrapper

Flags

Flag Description
-h, --help Help for the wrapper command

Examples

xl wrapper
xl wrapper -v

Global flags

You can use global flags within all XL CLI commands to pass config file detail, credentials, and server URLs. You can also use global flags to control verbosity of the output.

The available global flags depend on the XL CLI version you are using.

Global flags (version 8.6)

Flag Description
--blueprint-current-repository string Current active blueprint repository name
--config string Config file (default $HOME/.xebialabs/config.yaml)
-h, --help Help for the XL CLI
-q, --quiet Suppress all output, except for errors
-v, --verbose Provide verbose output
--xl-deploy-authmethod string Authentication method to access the XL Deploy server (default http)
--xl-deploy-password string Password to access the XL Deploy server (default admin)
--xl-deploy-url string URL to access the XL Deploy server. Default: http://localhost:4516/
--xl-deploy-username string Username to access the XL Deploy server (default admin)
--xl-release-authmethod string Authentication method to access the XL Release server (default http)
--xl-release-password string Password to access the XL Release server (default admin)
--xl-release-url string URL to access the XL Release server (default: http://localhost:5516/)
--xl-release-username string Username to access the XL Release server (default admin)

Global flags (version 8.5)

Flag Description
--blueprint-repository-password string Password for the blueprint repository
--blueprint-repository-url string URL for the blueprint repository. Default: https://dist.xebialabs.com/public/blueprints)
--blueprint-repository-username string Username for the blueprint repository
--config string Config file (default $HOME/.xebialabs/config.yaml)
-q, --quiet Suppress all output, except for errors
-v, --verbose Provide verbose output
--xl-deploy-password string Password to access the XL Deploy server (default: admin)
--xl-deploy-url string URL to access the XL Deploy server (default: http://localhost:4516/)
--xl-deploy-username string Username to access the XL Deploy server (default: admin)
--xl-release-password string Password to access the XL Release server (default: admin)
--xl-release-url string URL to access the XL Release server (default: http://localhost:5516/)
--xl-release-username string Username to access the XL Release server (default: admin)