This blueprint demo will show you how to download, customize and then apply a blueprint to XL Release and XL Deploy. The applied blueprint configures an XL Release \ XL Deploy deployment pipeline that can be used to spin up an instance of an AWS Wildfly AMI in your AWS account and then deploy a simple application to that instance.
For the sake of convenience, this project also includes the files necessary to run XL Deploy and XL Release in Docker containers.
If you’re new to XebiaLabs blueprints, check out:
You will need to install the XebiaLabs XL CLI tool.
The XebiaLabs Dev Ops Platform - XL Release and XL Deploy - can be run in Docker containers using the docker-compose file included in this project. You will need to have the following installed locallys:
If you’re running Docker for Desktop for macOS or Windows, Docker Compose is already included in your installation.
This demo requires that you have an AWS account and have the AWS credentials including an AWS access key ID and AWS secret access key. Note: In a scenario in which you are already interacting with AWS using the AWS CLI, the blueprint configuration can pull existing credentials from your local configuration. If not, you can provide the credentials directly when running the blueprint. More information about creating an AWS Key ID and Secret Access Key
XL Deploy will interact with the AWS instance via SSH so you will need to create and download an AWS key pair for the AWS region you plan to deploy to. If you already have a key pair there is no need to create a new one. More information about creating an AWS key pair
You will need to create a security group within your AWS account that allows access to port 80 (http) and port 22 (ssh). More information about creating a security group
By default, this blueprint uses a ‘free of charge’ Bitnami AMI to create the Wildfly server (version 19) in AWS. It may be necessary to subscibe to this image first via the AWS marketplace. If you wish to use a different AMI, you will be given an opportunity to indicate that during blueprint configuration.
This demonstration blueprint will store your AWS Access Key and Secret Key in plain text in a file called xebialabs/secrets.xlvals. The password for the dynamically created Wildfly admin user is also displayed in plain text within XL Deploy and XL Release. This is not production-level secure. If you wish to use a more secure method for dealing with secrets and passwords, refer to the showcases/dictionaries-and-secret-stores blueprint in the XebiaLabs official blueprint repository for a demonstration that uses CyberArk Conjur or HashiCorp Vault to better store and handle secrets.
As part of the blueprint download/customization process, you will need to answer a few questions. It is best to have these answers at hand before you start.
If, during blueprint configuration, you indicate that you wish to use your previously installed AWS CLI configuration, that AWS Access Key and Secret will be used automatically, without having to manually enter the values. Otherwise you will need to supply:
Additionally, you will need the following information;
To use this blueprint/demo, you will need to perform the following steps:
blueprint:
current-repository: XL Blueprints Community
repositories:
- name: XL Blueprints Community
type: http
url: https://xebialabs-community.github.io/xl-blueprints-community/
xl-deploy:
authmethod: http
password: admin
url: http://localhost:14516/
username: admin
xl-release:
authmethod: http
password: admin
url: http://localhost:15516/
username: admin
<path to your XL CLI Tool directory>/xl --config ~/.xebialabs/communityConfig.yaml blueprint
docker-compose up
When XL Release and XL Docker have finished starting up, you can log into both of them using the credentials admin/admin. XL Release is accessible at this url: http://localhost:15516 and XL Deploy at: http://localhost:14516. You should see that XL Release has already been configured with a shared configuration connecting it to the XL Deploy instance running in Docker.
You can now apply the newly configured blueprint to XL Release and XL Deploy by opening a terminal, cd into your blueprint directory, then run
<path to your XL CLI Tool directory>/xl --config ~/.xebialabs/communityConfig.yaml apply -f xebialabs.yaml
When all phases have run you can stop the XL Release and XL Deploy instances by running the following command in a terminal opened in your blueprint/docker directory:
docker-compose down -v
Finally, log into your AWS account to ensure all instances have been stopped and have been removed.
This blueprint version has been tested with the following versions of the XebiaLabs Platform: