Background: Working on a UK government project involved dealing with overburdened legacy systems. It was time for a cloud migration. A number of existing scripts and processes had to be gathered into jobs and prepared for their new life in the cloud. With limited time available and firm deadlines to adhere to, the work needed to be completed swiftly. There was also a need for future enhancements to migrate these singular jobs into an improved pipeline.
Goals: Bring old systems to new platforms.
"For simple deployments, Jenkins is easy to pick up and get going. It rocks for complex stuff, too, as it’s there for you further down the line."
Solution & Results: To migrate to the cloud, a new Jenkins install was quickly stood up — in a container no less. This was done with a basic Jenkins install via docker. It all went quite smoothly as we imported existing scripts into the system while still being able to maintain our current processes. Best of all, we continued to function with minimal disruption to the release cycle. **
Once the migration was complete, there was room to maneuver to new and improved processes. For that, we used the Jenkins job DSL plugins and the Git plugin to get app code. Tasks were migrated away from singular scripts into a pipeline job where software builds would occur only once instead of multiple iterations for each environment. The code for these jobs was migrated to its own repository, where changes can now be monitored separately.**
For simple deployments, Jenkins is easy to pick up and get going. It rocks for complex stuff, too, as it’s there for you further down the line. This migration to the cloud yielded great improvements, including:
shorter testing cycles
builds follow a set process every time
build processes are consistently logged