Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. This Developer Center contains the guides for Commerce 6.13.0 through 7.4.1.Visit new site

This version of Elastic Path Commerce is no longer supported or maintained. To upgrade to the latest version, contact your Elastic Path representative.

Deploy to Dev Team Server

Deploy to Dev Team Server

Overview

Tip: AWS deployments

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

The Dev 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 is used to deploy EP applications to the Dev Team server. The Pusher contains a set of Bash scripts that can be configured to handle single server deployments as well as 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. The same package can be deployed 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 EP webapps
  • Data and properties from the extensions/database module - these are used to update the database schema and catalog data.
  • Tools - Data Population and Import/Export
  • JAR files - database driver and Active MQ dependencies required by Tomcat
  • Tomcat installation package - to install Tomcat for the first time (if desired)

Pusher package

The pusher package contains:

  • Configuration files for target environments that are controlled by the construction team. For production environments the configuration files are typically managed separately.
  • A copy of The Pusher - a set of scripts that manages the deployment process.

Deployment process

An overview of the deployment process is shown in the diagram below. Typically there are two CI jobs - one to build a deployment package, and the second to push to the target environment.

Starting Construction Deployment Overview Fall-2014-SP2

Configuration steps

  1. Verify that the target server has been configured as specified by Prepare Infrastructure.
  2. Review the target server requirements on The Pusher - Quick Start page and 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.

Deployment steps

You can deploy to the Dev Team server using the following CI 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, then click the 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.