High level navigation tools include Connections, Data Center, Deploy Menu, Domains, Flows, Icons, Setup, and Users & Groups as described below.
Everything under the Connections menu allows DeployHub to connect to an external Repository and Data Sources. They also manage Credentials to external objects such as Endpoint logon and password requirements. Connections include:
- Repository: When you deploy the Component Item, you need to specify where to get the artifacts such as binaries. A Repository allows you to integrate with a version control system, a binary repository, or retrieve files from an external file system.
- Data Sources: An object that supports a connection for retrieving information from external locations, such as databases.
- Credentials: Objects within DeployHub that contain username and password pairs for accessing all of the various objects used to retrieve files from Repositories, access Endpoints, execute Actions, and deploy files.
Data Center defines where your software will be deployed to. You manage your Environments and their associated Endpoints to be used for deployments from this Menu item.
- Environments: Environments are groups of Endpoints set up to represent different areas where the software will be deployed, such as Development, Test, or Production.
- Endpoints: Endpoints represent the container, physical server, virtual image or cloud image where the Components will be deployed.
- Build Engine: Connections to external continuous integration servers such as Jenkins.
Under this tab, you will find all objects related to performing the software deployment such as Applications and Components.
Applications are a collection of Components that can be deployed as a single package. 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.
- 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.
Components contain the actual artifacts (files and scripts) of the Application, along with Pre and Post Actions that can be used to control the deployment at a detailed level. Components change over time, and so DeployHub contains Component Base Versions and Component Versions like those of Application Base Versions and Application Versions. A Component may include more than a single file or file type and therefore contains Component Items. Each one references a single repository of those files. Component Types and Endpoint Types make sure that only certain kinds Components are applied to their appropriate Endpoints during a deployment, i.e. one to an application server and another to a database server.
- Component Base Version: Objects within DeployHub that contain the files and procedures that are deployed to Endpoints.
- Component Version: A child of the Component Base Version that represents changes.
- Component Item: Component Versions contain one or more Component Items, which reference the actual deployed files and scripts. Each Component Item references a Repository so that a Component Version can contain files from many different sources. These Component Items are linked together within a Component Version to determine the order deployed. Keep in mind that a Component Item is not a DeployHub object that can be shared with other Component Versions, but rather each Component Version/Component Base Version has its own Component Items, which are duplicated whenever a new Component Version is created. In other words, a newly created Component Version inherits identical Component Items from the latest version.
Domains organize an enterprise’s approach to managing Application deployments. Domains can be used to control the sharing of objects between teams and geographical areas.
NOTE: DeployHub Team allows you to create a single high-level Domain. DeployHub Pro allows you to create multiple High-level Domains for organizing how your company manages silos and business structures.
- Life Cycles and Pipelines: DeployHub includes the concept of a Life Cycle Sub-Domain. This can be created with associated Tasks such as Approve, Move, and Deploy. Life Cycle Sub-Domains are used to move objects from one Lifecycle to another, i.e. Development, Testing, Production, etc.
- Tasks: Domain-specific Tasks allow Users to move Application Versions between Domains and deploy them to Environments when necessary. They provide the ability for Actions to be executed, and compartmentalize responsibilities via Users and Groups during development, testing, and release. Tasks can perform the following for Application Versions: create a new Application Version, remove an Application Version, move an Application Version to another Domain, deploy an Application Version, request another Task to be run or approved by a User with authority, approve a Task to be run by a User without authority, and run an Action. Keep in mind that a Task is not a DeployHub object that can be shared between Domains, but rather each Domain contains its own Tasks.
The Flows option takes you to the tabs for the creation of reusable deployment models using Actions. Actions are made up of Procedures, Functions, and other Actions. These are placed into an Action’s Workflow and connected in a logical way so that any portion of a deployment can be controlled in detail. Actions can be assigned to Tasks, Applications, and Components as Pre-Actions and Post-Actions. Pre and Post-Actions are executed before and after a Task is run, before and after an Application Version is deployed, and before and after a Component Version is deployed. Custom Actions replace the normal execution of deployments for Applications and Components. This allows for complete control of a deployment at every level.
- Actions: Actions are a collection of Procedures, Functions, and other Actions that make up a Workflow of steps to perform the deployment.
- Procedures and Functions: Procedures and Functions are scripts or programs that can be written in a variety of languages (Python, Ruby etc.) and executed during a deployment. They are used to build Workflows in Actions that are assigned to Tasks, Applications, and Components.
- Notifiers: Allows the setup of standardized emails that will be sent upon a successful or failed deployment.
- Person Icon: Clicking on the Person Icon in the group of icons on the upper far right displays information about the current User, which can be changed. A new password can also be entered for the User.
- Question Mark Icon: Clicking on the Question Mark Icon on the upper far right takes the User to the web page containing all the online documentation for DeployHub.
- Logout: Clicking on the logout button on the farthest upper right causes the User to be logged out of DeployHub and immediately returned to the login window in the browser.
- Home Icon: Clicking on the Home Icon in the group of icons on the upper far right, or clicking on any Domain in the tree structure at any time, causes three tabs to appear on the right side:
- To Do List: This contains all Requests for the current User that are created by Request Tasks as well as pending Calendar entries.
- Timeline: All activity within the DeployHub installation for the current User.
- Global Reports: These are a series of reports.
- Endpoint Inventory Report: This list of the assets deployed to each Endpoint in the system, including Files, Components, Applications, Environments, Dates, and Users.
- File Audit Trace: Allows for the selection of a file on the local user’s machine, and returns all related deployments as well as Dates, Applications, Components, and Endpoints.
- Audit of the files deployed to Endpoints: This report shows the differences between the files on Endpoints compared to what was deployed.
- Success/Failed Deployments per Environment Report: The number of successful and failed deployments per Environment. It includes the Deployment Number, Environment deployed to, Application and Components, date deployed, and each Endpoint deployed to along with all files.
- Delivery Pipeline: This tab only appears when a Domain containing Life Cycle Sub-Domain has been selected. It is used to define your continuous delivery process.
DeployHub quickly and easily sets up the basic objects required to perform a software deployment. The Initial Setup window contains information fields needed to be filled in order to get started. DeployHub then creates an Environment, a Repository and its Credential, and an Endpoint and its Credential, all within a selected Domain.
Users and Groups
The Users and Groups menu item allows you to create Users, create Groups and assign Users to Groups. All DeployHub access is controlled through Group Membership. Where needed, an Access tab is associated with the different DeployHub objects that will display a list of the Groups that should have access to the object.
NOTE: DeployHub Team allows you to have two Groups - Administrator and Users. DeployHub Pro includes the ability to create multiple Groups.