Deploying Authoring and Live Environments
Overview
After the Jenkins pipeline InitPipeline
and its related sub-jobs complete successfully, the Author and Live environment is ready for deployment in an AWS (Amazon Web Services) account. The pipeline InitPipeline
pushes Docker images required for deployment into an ECR (Elastic Container Registry) repository. The pipeline InitPipeline
is run as part of CloudDeploy initialization.
The following diagram shows the architecture of an Author and Live environment with a focus on autoscaling and load-balancing:
For more information, see Author and Live Architecture Overview.
Procedure
The Jenkins job DeployAuthorAndLive
job deploys a complete Elastic Path Commerce environment that contains an Authoring environment and a Live environment. This job is located in the Jenkins job folder CloudDeploy, in the Jenkins view Deployments.
Ensure that the Jenkins pipeline
InitPipeline
completed successfully.All required Docker images must exist in ECR. By default, the Jenkins jobs deploy the Author and Live environment using the Docker images and data created from the deployment package provided during the CloudDeploy initialization. To deploy a different deployment package, rebuild the Docker images using the Jenkins job
BuildEpImage
.Ensure that the configuration for the deployment is correct. For more information, see:
Run the
DeployAuthorAndLive
job. The job performs the following steps before deploying the environment:- The default values for the job parameters are populated from the Consul config store
- CloudFormation templates used in an Author and Live environment are uploaded into the Amazon S3 bucket
ep-cloudops-<account_id>/CloudDeploy/<Branch>/<StackName>
For more information about the parameters, see
DeployAuthorAndLive
.Monitor the deployment progress in the CloudFormation AWS console.
The complete environment is created in approximately 1 hour. When the root CloudFormation stack completes successfully, the stack’s outputs display useful information, such as the load-balancer endpoints to the Elastic Path services.
Note: The endpoints will only work after DNS settings are updated. This is usually done after initializing CloudCore. For more information, see DNS Configuration.
Validate the deployment. For instructions, see Validating an Author and Live Deployment section below
Validating Author and Live Deployment
After the root CloudFormation stack is completed successfully, you can perform the following validation steps to ensure that all apps are up and connected successfully:
Reference Default CloudOps Endpoints and Credentials page
Use the Default CloudOps Endpoints and Credentials page for information on how to access all the services listed below.
Most services can be accessed easily using endpoints, however the ActiveMQ admin console also requires port-forwarding through the bastion server.
Ensure all load balancer target groups are healthy
- In the EC2 AWS Console, go to the Target Group section
- For each Target Group, check the monitoring tab and ensure that the number of instances on the Healthy Hosts graph is correct
Note: Target groups created by an Author and Live environment have their names prefixed by
EP-Au-
.
Figure 2. Healthy Target Groups.
Verify Live Cortex can send a message to ActiveMQ
Register a new user in Cortex
- Go to the Live deployment’s Cortex Studio
- Authenticate yourself as a public user
- Navigate to the Account Registration section
- Enter the required information and use valid email format
- Click registeraction
Figure 3. Registering a new user in Cortex Studio.
Ensure a new message is added to an ActiveMQ queue
- Access the Live ActiveMQ admin console. This requires bastion server credentials
- Click the Queues tab
- Confirm the queue Consumer.customerRegistrationEmailHandler.VirtualTopic.ep.customers has a pending message
Figure 4. ActiveMQ email queue.
Ensure Commerce Manager uses search
Searching for promotions and shipping items
- Go to Commerce Manager
- Login as the admin user
- Navigate to the Promotions/Shipping tab
- Click Search. Ensure that the search result contains search result items
Figure 5. Searching for promotions and shipping items.
Reindexing search for an index
- Go to Commerce Manager
- Login as the admin user
- Navigate to the Configuration tab
- Click Search Indexes
- Click Rebuild Index for any index name
- Confirm the status goes from Rebuild Scheduled to Rebuild in Progress to Complete
Figure 6. Rebuilding a search index from Commerce Manager.