Deployment is the final phase of a CI/CD pipeline, and is when the software you create is released. Consider the following deployment concepts and strategies for your CI/CD pipeline implementation.

Automatic deployment

In an ideal CI/CD pipeline, after your software is through the test phase, you should be able to automatically deploy and deliver without any input. Getting to that level requires a robust and mature CI/CD pipeline implementation. Automatic delivery benefits both the developers and the consumers. For developers, there is less room for human error and less time performing manual operations. For consumers of your software, they get access to the latest build changes quickly. Many CI/CD pipelines go through the deployment phase without automatically pushing out the software to customers. Your business application is ready for release at any time.

Application deployment levels

Consider the following levels of an OpenEdge application when determining your deployment strategy. You can deploy at all levels of an application, but depending on your business needs, one may provide advantages over another:
  1. Install—The base level of your application. Changes at this level affect all other levels. This is the level where $DLC and $CATALINA_HOME are located.
  2. Progress Application Server for OpenEdge instance—The instance runs one or more business applications and potentially Tomcat web applications. The instance level is where load balancing and failover occur.
  3. ABL application—A business application that contains one or more WebApps.
  4. ABL WebApp—A secure set of services that provide access to the ABL application. A WebApp provides name and authentication services.
  5. ABL service—A service interface to the application business logic. Can provide authorization in the WebApp and in ABL code.

Creation and deployment methods for OpenEdge applications

The following methods are provided for creating and deploying applications with OpenEdge.
Table 1. Application methods
Application component Associated file type Creation method Deployment method
Instance .zip Numerous methods tcman register
Application .oear

tcman export

Ant scripts

tcman import
WebApp .war

Progress Developer Studio Export

Ant scripts

tcman deploy
Service Not applicable

Progress Developer Studio Export

deploySvc