Deploy an App to AWS Using a Blueprint
Transitioning a microservice application to the Amazon Web Services (AWS) cloud infrastructure can be a daunting and complex task for a development team new to AWS. The Deploy/Release Blueprints for AWS can streamline the process of creating the AWS infrastructure, orchestrating the pipeline using Release, and deploying applications using Deploy.
This tutorial provides a working example to help you get started with DevOps as Code blueprints for AWS in Deploy and Release using a sample application provided in a public GitHub repository. The tutorial specifically demonstrates how you can use the Digital.ai Deploy/Release Microservice Application on Amazon EKS blueprint (microservices-ecommerce) to deploy a simple microservice demo application that consists of separate store, notification and invoice applications on Amazon Elastic Container Service for Kubernetes (EKS).
Review the Prerequisites
AWS Prerequisites
This tutorial requires 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.
GitHub Repository
This tutorial utilizes a Digital.ai GitHub repository that includes a folder and file structure for an sample microservices application that you will deploy to an EKS cluster in AWS using blueprint specifications.
Docker
A pre-built set of Docker containers is provided to simplify this tutorial. If not installed already, download and install:
You will also need a Docker Hub repository. You can use an existing Docker Hub repository or create a new one for this tutorial.
Step 1 Clone the GitHub Branch
To get started, fork and clone the sample GitHub repository.
For example, to clone the forked repository from the command line:
git clone https://github.com/<your-github-username>/e-commerce-microservice.git
Step 2 Review the Sample Application Architecture
The cloned repository includes the components and files for the microservices e-commerce demo application.

The sample application consists of three microservices applications:
- A gateway application (online store)
- An invoice application
- A notifications application
The following supporting files are also included:
- Docker compose files
- Kubernetes files
- Jenkins files
For details on the contents of each of these files, refer to the accompanying README file in each directory of the sample GitHub repository.
Step 3 Create Your Docker Environment
A docker-compose.yaml file is provided in the docker-compose/xebialabs folder to build the following Docker containers:
- A Deploy server
- A Release server with Connections settings that includes a defined connection to the Deploy server
- A Jenkins server with pre-defined jobs
- A container with the XL CLI installed.
***note
This instance of XL CLI is used internally among the Docker containers. You will also install the XL CLI on your local host later in this tutorial.
Step 4 Customize Docker Credentials and Add Licenses
Add Your GitHub and Docker Hub Credentials to docker-compose.yaml
-
Navigate to
e-commerce-microservice/docker-compose/xebialabs -
Set your GitHub and Docker Hub credentials by doing one of the following:
-
Edit the
docker-compose.yamlfile and replace the${GITHUB_USER},${DOCKER_USER}and${DOCKER_PASS}values with your own credentials:- GITHUB_USER=mygithubusername
- DOCKER_USER=mydockerhubname
- DOCKER_PASS=mydockerhubpasswordor set them as environment variables:
export GITHUB_USER=mygithubusername
export DOCKER_USER=mydockerhubname
export DOCKER_PASS=mydockerhubpassword -
Save the file.
Note: If you are using a private fork of the e-commerce microservices then you will have to set GITHUB_TOKEN values as well in the docker-compose.yaml file or in the environment. By default when you fork the repository it will be public.