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

XL JetPack is designed to help small development teams quickly launch apps to the cloud in an automated and repeatable way without the need for manual scripting.

XL JetPack includes:

  • A Docker container that hosts the release orchestration application
  • A Docker container the hosts the deployment automation application
  • Blueprints that support common cloud-based infrastructures
  • An XL Command Line Interface (XL CLI) to control it all

JetPack applications

System requirements

  • For running the XL JetPack containers, you need Docker Desktop and Docker Compose installed.

  • For the XL CLI, you can install on 64-bit versions of Linux, MacOS, and Windows.

About Docker images and containers

Docker enables you to run applications in a container which is a runtime instance of a published image. For XL JetPack, two images are published in the DockerHub repository:

If you are new to Docker, check out Get started with Docker.

Watch an XL JetPack installation video

For a preview of the XL JetPack installation process, check out this video.

Step 1 Start the XL JetPack containers

Although you can run each container separately using docker run, they will not be able to talk to each other without manually creating an internal Docker network. A simpler solution is to use Docker Compose to run both containers at once and automatically create a default Docker network.

Create a Docker Compose file

Create a file named docker-compose.yaml to pull the images, spin up the containers, and automatically create a default Docker network. Here is a sample Docker Compose file for the XL JetPack images:

version: '3'
services:
  xl-deploy:
    image: xebialabs/xl-jetpack-deploy:$VERSION
    ports:
    - "4516:4516"
    environment:
    - ADMIN_PASSWORD=$DESIRED_ADMIN_PASSWORD
    - ACCEPT_EULA=Y
  xl-release:
    image: xebialabs/xl-jetpack-release:$VERSION
    ports:
    - "5516:5516"
    environment:
    - ADMIN_PASSWORD=$DESIRED_ADMIN_PASSWORD
    - ACCEPT_EULA=Y

Notes:

Run the Docker Compose file

From the directory in which the docker-compose.yaml file is saved, run the following command:

docker-compose up

Access the XL JetPack UIs

As the containers spin up, output is printed in your terminal window, including a line that indicates: You can now point your browser to http://<container_id>:<port_number>/. Since the container runs in a network inside of Docker, this URL will not resolve. Use the following URLs to access the XL JetPack UIs:

  • For the XL JetPack deployment automation UI, point your browser to http://localhost:4516 and log in with the user name admin and the password that you set in the Docker Compose file.
  • For the XL JetPack release orchestration UI, point your browser to http://localhost:5516 and log in with the user name admin and the password that you set in the Docker Compose file.

Step 2 Create a shared configuration

The XL JetPack release orchestration server requires a shared configuration with the XL JetPack deployment automation server. You can create a shared configuration using the GUI, or by defining and applying the configuration in YAML.

Option 1: Using the GUI

To create the shared configuration using the GUI:

  1. Log in to the XL JetPack release orchestration GUI using the admin credentials.
  2. Go to Settings > Shared Configuration.
  3. Select XL Deploy Server and configure the following fields:

    • Title: Name for the XL JetPack deployment automation server
    • Url: Server URL. This is the name of the service specified in the docker-compose.yaml file (xl-deploy)
    • Username and Password
  4. Click Test and ensure the connection is successful.
  5. Click Save.

Shared configuration

Option 2: Using YAML

You can create the shared configuration using YAML:

  1. Create a new YAML file (e.g. configure-xl-jetpack.yaml) to configure a shared configuration between the XL JetPack deployment automation server and XL JetPack release orchestration.
  apiVersion: xl-release/v1
  kind: Templates
  spec:
  - name: XL Deploy
    type: xldeploy.XLDeployServer
    url: http://xl-deploy:4516
    username: admin
    password: $ADMIN_PASSWORD
  1. Apply the shared XL Deploy Server configuration:
xl apply -f configure-xl-jetpack.yaml

Important notes:

  • Name: This is the name for the XL JetPack deployment automation module. Note that this must be XL Deploy when using the XebiaLabs DevOps blueprint library.
  • Url: This is the server URL (as defined in the docker-compose.yaml file). The format of the URL is http://container-name:port-number. In the above example, the URL would be http://xl-deploy:4516
  • Password: Include the admin password you defined in Create a Docker Compose file

Step 3 Install the XL CLI

The XL CLI is the primary interface used with DevOps as Code which provides developers and other technical users with an alternative way to interact with XL JetPack using YAML specifications.

Next steps

Your XL JetPack environment is up and running. What do you do now? Learn more using the links below.

DevOps as Code: XL JetPack blueprints work hand-in-hand with the DevOps as Code features, so you should get familiar with DevOps as Code first. DevOps as Code provides developers and other technical users with a alternative way to interact with XL JetPack using text-based specifications to define application artifacts, resource specifications and releases and a simple command line interface to execute them. To learn more, see DevOps as Code documentation.

Blueprints: Blueprints build upon DevOps as Code. By running a simple xl blueprint command, you are guided through a series of questions. When complete, the blueprint generates custom YAML files for your applications and infrastructure as well as templates you can use to manage your release pipeline. To learn more, see Get started with blueprints.

Release orchestration and deployment automation: Explore the XL JetPack release orchestration and deployment automation concepts, features, and available user interfaces using the following resources:

XL JetPack Community

Have questions about XL JetPack? Join the XebiaLabs Community Forum.