Intro to Applications
Application Base Versions and Versions
Applications are main Objects in DeployHub. They are a collection of Components that can be deployed as a single software solution. You define an Application by associating the Components it will consume. The first time you define an Application, it is referred to as the Application Base Version. When you change the Application Base Version, you create a new Application Version. Applications are assigned and deployed to Environments. Applications are associated to a Domain.
Application Base Version : Defines the software product in terms of Components, Attributes, and assigned Environments.
Application Version : This child of the Application Base Version represents changes and can be deployed just as an Application Base Version is.
An Application and all objects within it will be deployed to one or more Endpoints. (Each one represents a container, physical or virtual server in the enterprise in an Environment. A backend versioning engine tracks all Application Version configurations. For this reason, each new version will be given a new version number.
For instance, your Application Base Version may be called MyApp;1, subsequent versions would be automatically named MyApp;2, MyApp;3, etc.
Applications and their Components
Applications are defined by the Components they consume. As with Applications, Components have versions. If a new Component is made available, DeployHub can be called by a continuous delivery tool to automatically create a new Application Version each time a new build is detected. For more information on this topic, see the CD Engine Chapter.
When a new Application Version is created from either an Application Base Version or another Application Version, it inherits all previous Components and Attributes from its predecessor. You can create a new Application Version from any previous version.
Applications and Tasks
Tasks allow you to act upon Applications. They are defined at the Domain level and are available to all of the Applications within the Domain as default Tasks. Tasks can also be called via your continuous delivery pipeline. Common Tasks integrated into continuous delivery are Move Version, Approve and Deploy. All Tasks are managed at the Domain level. For more information on Tasks and Domains see Deployment Task.
Applications and Iterative Deployments
Whenever an Application is deployed, DeployHub determines the deployment status of each Component contained within the Application. It compares it to Components on the associated Endpoint. This delta processing performs iterative deployments accurately when there is a change or is set to Always Deploy.