The BMC Release Package and Deployment product is an application deployment manager which enables you to abstract the requirements of an application and then deploy it to multiple environments automatically. For example, you can deploy an application to multiple test servers, run tests on the application, and if the tests pass, deploy the application to multiple environments, all through an automatic process.
Packages represent collections of items that you want to deploy. A package is typically an application, consisting of application files and resources. Each package contains one or more resource definitions, which identify the files, folders, or version-controlled resources located on a managed computer.
When you start a deployment, you first create a package instance. Before the system deploys the instance, it retrieves the files represented by the package URIs, and stores them in the database for availability to the instance. Applications also have configuration information, which the system processes and applies to the deployment locations (channels) during a deployment.
A package might contain:
To create packages, use the Define tab.
Channels represent the targets, or locations, for package deployments. You define a channel from a channel template. A channel template identifies a type of behavior that a managed computer exhibits (such as acting like an Oracle database or a file folder). The template can have properties to help manage interactions. A channel inherits the properties of its template, plus, it might have its own properties to override the template, making interactions specific to that channel.
A server definition for a channel determines the connection and interaction with a managed computer.
You can manage the deployment of instances to multiple channels through environments and routes, as shown in the following illustration. An environment is a group of channels; a route is a group of environments that execute in a certain order. When you initiate a deployment, the system deploys the instance to the first environment in the route, which is the QA Environment in the illustration. You can deploy individual resources within an instance to different channels within the environment.
To create channels, templates, and environments, use the Topology tab.
When you define an application in the system, you define everything needed to reliably deploy the application with one auditable action. You can also accurately roll back that deployment if the previous version is needed. The definition means that the dependencies of an application and its servers can be recorded once and used precisely thereafter, or modified as conditions change.
The system includes a default set of activity libraries and action packs that you can use to create processes. The exact set installed depends on the options selected during installation. For more information, see Managing activity libraries and action packs. The system also includes an API, which is described in Developing.
A package goes through definition and deployment following a process flow as illustrated in the flowchart below. See Use cases for more information.
The system analyzes the instance and the environment to determine what instance content goes to which channel. For each channel, the system:
Consults the linked content for every pattern matched to determine what to do with the URI
Patterns are linked to channel templates and content as triggers. The system searches for matching patterns to determine which channels to use to deploy a resource and how to deploy the resource. Three kinds of searches take place: file-name matching, URI matching, and reference-name matching. Individual resources can initiate multiple processes through their matching triggers. For more information, see Modifying pattern orders.
The following video (6:12) provides a system overview of BMC Release Package and Deployment: