The Inventory system in IBM UrbanCode Deploy tracks what is where and provides visibility into your applications, environments and configuration.
Automatically track what is in an environment or serverEach resource tracks which versions of various components are currently deployed to it. The image below shows:
- A Resource PetShop-Web that lives on the dev-host in the US-EAST-1 data center
- That version 1.0-a is currently installed and Active
- Version 1.0-a was installed December 17th at 12:11 PM
- No other versions are currently installed, or staged
- The complete and versioned configuration hierarchy used to install this version.
Desired vs Actual
When a deployment to an environment is started, the “Desired Inventory” is immediately updated. A deployment request indicates a change in the desired state of the environment. The selected deployment process is used by UrbanCode Deploy to attempt to bring the environment back into compliance by performing work on the resources that make up the environment. Successfully deploying, uninstalling, or staging something to a resource results in the resource’s “actual” inventory being updated. Reports show which resources are noncompliant in an environment. Resources may be noncompliant for a number of reasons including:
- Deployments that are currently running
- Failed deployments
- Resources added to an environment since the last deployment
Historical InventoryIBM UrbanCode Deploy tracks not just what version is currently in an environment, but also what was in various environments over time. This is helpful comparing flows through environments, identifying what changed and more. The screenshot below shows a Development environment with version 1.0 and incremental patch 1.1 installed in Dev. The 1.1 version had been rolled back on Monday the 9th and redeployed on the 11th. That same version was deployed to the UAT environment on the 11th. This component has not yet been deployed into production.
Inventory is used to optimize deployments
By keeping track of what has already been deployed to an environment, UrbanCode Deploy can streamline the deployment of complex applications by deploying only the component versions that have changed. The deployment process can be designed for the worst case scenario where everything needs to be updated, and UrbanCode Deploy will use the inventory system to identify which pieces and parts of that master process should be run