Achieving Fully Automated Deployments in Hudson Continuous Integration (CI)
Hudson CI is a user-friendly Continuous Integration system, enabling developers to swiftly integrate changes to projects and generate numerous builds a day. Productivity is greatly increased by the automated, continuous build process. In order to ensure continuous delivery, it is necessary to find a solution to rapidly deploy complex and multi-tier applications. As such, automated deployment processes are considered "best practice" for a truly continuous integration solution. However, Hudson does not presently offer such a solution.
The Challenge of Continuous Deployment
When using Continuous Integration, the quickest way to detect errors is by verifying each integration by an automated 'build and test'. However, due to the complexities of today's applications, standard continuous integration 'build and test' models are no longer enough to ensure the software will be fully operational. The only way to truly ensure the application will be free from errors is by deploying it into an environment. To work in accordance with agile methodologies, many small iterations must be released frequently and applications are continuously deployed. To guarantee error-free application deployments, the user needs to include deployment automation within the continuous integration practice. However Hudson CI is currently unable to adequately facilitate deployment automation and this often leads to bottlenecks, delays and errors.
The Importance of Traceability
Traceability is vital. Manual errors in Hudson are frequent due to the size and complexity of the system; it is very easy for users to make mistakes while attempting to retrieve the correct artifacts from the right drop location in a library teeming with resources. It is therefore essential that the user can easily determine the precise location, status and version of every application component at all times. However, Hudson CI does not currently record exactly what is being deployed where at any given time.
The Zero Touch Deployment™ Solution
Nolio's Zero Touch Deployment™ offers an end-to-end solution to the deployment challenge across the application lifecycle.
Integrating the Zero Touch Deployment™ solution with Hudson CI enables agile deployment and sanity testing with every build. Continuous deployments are realized and development teams can easily deploy multiple times a day.
Nolio's deployment processes offer full traceability. The precise locations of all build versions can be tracked at any moment in time so, if an error does occur, the source can be swiftly located and rectified. Automation also eliminates the risk of errors, reduces bottlenecks and increases time-to-market.
Implementing Zero Touch Deployment™ in Hudson CI
Nolio has developed a customized deployment plugin for Hudson CI. With this plugin, users can implement Nolio's Zero Touch Deployment solution in these three simple steps:
- Design a generic deployment process
- Design a manifest file - defining the dynamic elements and parameters of an application release
- Register the Nolio plugin with Hudson
The automatic process is seamless. As soon as the release process starts, the system retrieves the manifest file - which is automatically updated by the plugin. The manifest file contains details on which resources should be taken, their specific location and version; enabling the system to go to the correct drop location, find the deployment artifacts and transfer them to the right location. This automatically triggers the generic process, which executes deployments across multiple environments.
Contact us to get more information about the Hudson Plugin for Nolio.