Jenkins Plugins for Automating Continuous Delivery
While it may be simple to have Jenkins call a one-off script for executing your development deployment, that same process may not support your testing and production environments due to the mixed configurations. Using Jenkins with DeployHub improves the software deployment step of your Continuous Integration process allowing testing and production teams to more easily adopt the developer defined process. Practice makes perfect and using DeployHub at development creates a repeatable process that can be adopted at testing and production without the burdens of traditional approaches.
The DeployHub plug-in allows Jenkins to call DeployHub as a step in a job and allows DeployHub to track a Build to a Component. This enables you to utilize Jenkins to orchestrate your Continuous Integration process, while DeployHub does the heavy lifting of packaging the application stack and deploying it across your Continuous Delivery environments, without the use of one-off script and without the use of any endpoint agents or Jenkins Executors.
The DeployHub Jenkins Plug-in includes a "Build Engine" object which can be connected to a Jenkins server. Each "Build Engine" can have one or more "Build Jobs" which relate to a particular Jenkins Project on that Jenkins Server. These "Build Jobs" can be linked to one or more components in DeployHub.
The linking of Components to a Jenkins Build Jobs allows DeployHub to track which Builds have been performed against which component. The Jenkins plug-in can be set to simply "notify" DeployHub that a Build has been performed. Since DeployHub knows which Jenkins Project is linked to which Build Job and which Component is linked to which Build Job, it can track Builds for each Component with an associated Jenkins Project.
Should a deployment be performed, DeployHub takes the Jenkins Build number into account when determining if a component should be deployed. Even if the Component Version has not changed, a new Build will result in a re-deployment. Jenkins Build Logs can be viewed directly from inside the DeployHub GUI, minimizing the amount of browser activity required to view Build details. For example, a user can see a Build Artifact on a Target Server and open the details of the generating Build directly from the Server Details page. This information is then tracked in a Continuous Feedback Loop providing a clear map of all artifacts associated to a deployment.