Elastic Path Commerce Development

Deploy to the Development Team Server

Deploy to the Development Team Server

Overview

Tip: AWS deployments

If you are using Amazon Web Services, consider using Elastic Path CloudOps for AWS to automate your infrastructure setup and deployment, instead of manually configuring your infrastructure and deploying using the Pusher scripts.

This page provides information on the Development Team Server and how to deploy Elastic Path applications to the server. The Development Team server has the simplest possible deployment topology - a local MySQL database, a local ActiveMQ JMS broker, and a single Tomcat instance running all web apps.

The Pusher deploys Elastic Path applications to the Development Team server. The Pusher contains a set of Bash scripts that you can configure to handle single server deployments and more complex deployment topologies. A copy of the Pusher source is included in the devops/pusher-package module.

The basic deployment components are:

  • A deployment package that is built by the extensions/packager module. You can deploy the same package to multiple environments without changes using a "Build once, deploy anywhere" approach.
  • A pusher package that is built by the devops/pusher-package module.

Deployment Package

The deployment package contains:

  • WAR files for all Elastic Path webapps.
  • Data and properties from the extensions/database module. Use these to update the database schema and catalog data.
  • Tools - Data Population and Import and Export.
  • JAR files - Tomcat requirements for a database driver and Active MQ dependencies.
  • Tomcat installation package. If desired, install Tomcat.

Pusher Package

The pusher package contains:

  • Configuration files for target environments. The construction team controls these files. Manage the production environments the configuration files separately.
  • A copy of The Pusher. A set of scripts that manages the deployment process.

Deployment Process

This section shows an overview of the deployment process in the diagram below. Typically there are two continuous integration jobs, one to build a deployment package, and the second to push to the target environment.

Starting Construction Deployment Overview Fall-2014-SP2

Configuring the Deployment Server

  1. Verify the target server is configured as described in Prepare Infrastructure.
  2. Review the target server requirements on the The Pusher - Quick Start page. Implement any missing requirements.
  3. Configure the following files in the extensions/database/ext-data/src/main/resources/environments/dev/ folder:
    1. filtering.properties: Filtering of catalog data
  4. Configure the following files in devops/pusher-package/environments/dev/ folder:
    Property Description

    database.properties

    Defines database connection properties and the data population environment name itself for this environment.
    data-population.properties Defines properties required by the Data Population tool for execution in this environment; e.g. Liquibase contexts to activate for this environment.
    filtering.properties Defines the values used when overriding property placeholders in data files for this environment.
Tip:

Refer to The Pusher - Quick Start page for configuration tips.

Deploying to the Development Team Server

This section provides instructions to deploy the Development Team Server. You can deploy to the Development Team server using the following continuous integration jobs that were created in Setup CI Server.

  1. Run the Deployment Package job and wait for it to complete.
  2. Run the Deploy to Dev Server job and wait for it to complete.
  3. You can smoke test the deployment using the following URLs:
    Component URL Notes
    Cortex http://<hostname>:8080/cortex/status Cortex health monitor
    Cortex Studio http://<hostname>:8080/studio Expand the Authentication utility menu. Click Revoke Acccess and Authenticate buttons.You should be granted access.
    Commerce Manager http://<hostname>:8080/cm/?servicehandler=status Commerce Manager health monitor
    Search Server http://<hostname>:8080/search/status/ Search server health monitor
    Batch Server http://<hostname>:8080/batch/status/ Batch server health monitor
    Integration Server http://<hostname>:8080/integration/status/ Integration server health monitor
    Active MQ http://<hostname>:8161/admin Active MQ control panel.