A Package is an instance (a version, a revision, a tag, …) of your application and defines the content which you want to deploy. Here you decide if you want to deploy the entire application or just a few specified components.
What are Packages?
In the Deployment Model, packages define what will be deployed.
A package typically bundles a set of components with its properties, it is assigned to a release to bundle functionality and to allow release managers to plan accordingly. Properties for the component can be set on a package to facilitate deployment of different versions of the same component..
Packages are assigned to releases of an application to bundle new and changed functionality.
A deployment package represents a specific snapshot (set of values) of the dynamic properties of an application deployment model, including the dynamic properties of the application entity itself as well as one, several or all of the components the application is comprised of.
A patch package always relates to a release of an application and a (previously installed) deployment package.
You can also create generic packages, which are not linked to an application but can be assigned to a release. This makes sense for non-deployable artifacts.
State Flow
Each package may follow a defined state flow and you can configure deployment rules for each state transition. State flows are mainly used to model promotion paths.
Through the concept of packages, ARA supports the traceable promotion of a specific application or a specific configuration (variant) of this application into several environments, following a release process from development into production.
Example:
For example, the state flow may include states (and related state transitions) such as READY FOR DEVTEST, DEPLOYED TO DEVTEST, READY FOR STAGING, DEPLOYED TO STAGING, READY FOR PRODUCTION, DEPLOYED TO PRODUCTION and REJECTED. A deployment rule could be created to trigger a deployment into the STAGING environment whenever the state READY_FOR STAGING is entered. After successful deployment, the state could be automatically updated to DEPLOYED TO STAGING.
The state flow and deployment rules can be configured on the custom type of a package. .
Installations
ARA also keeps an inventory of which packages and specific components within have been deployed to which environments and deployments targets and in which sequence (see also Related / Installations).
Example for a Deployment Package
For example, the value of a dynamic property representing the location of the deployment artifacts of a specific build or release of an application in a version control system could be set on package-level. Therefore each package can be used to represent a specific tagged software version of this application, although the component artifacts are not “physically” contained in the package but reside somewhere else. Packages may also be used to represent specific configurations of the application. For this purpose, configuration settings (including for example locations of configuration files or other configuration objects) can be modeled as dynamic properties, which receive their target value on package-level.
Topics