Optimization and modernization of the development and deployment process of the SPECCIO project with automated CI/CD pipelines in Jenkins, fully automated build of a CentOS Virtualbox VM and update of the website.
Java, Gradle, Virtualbox, Jenkins, CI/CD, Packer, Ansible, Static-Site-Generator
The old release process had multiple weaknesses. The entire build was done by hand on the customer's laptop. Dependencies for the SPECCHIO client were included in the Git repository and rarely upgraded. VM builds were not reproducible, because the virtual machine image was reused with every release, only the SPECCHIO client and server artifacts were updated in it. And the website just wasn't up to date with modern web standards and bared the look and feel of a website from the early 2000s.
The goal of our project is to modernize and automate the build- and deployment process of the SPECCHIO project and thus making it more maintainable.
In the scope of this project, we improved the existing SPECCHIO projects development and deployment process, by introducing modern software engineering best practices. This includes build automation, dependency management, continuous integration, continuous deployment, and many other improvements. The final result is an end-to-end workflow to automatically build new SPECCHIO releases with all its associated artifacts, create a VirtualBox VN and update the Website. All automatically at the press of a single button.
Project duration | 1 Semester |
---|---|
Man hours invested | 400h (200h per person) |
Team size | 2 Students |
Andreas Hueni, Department of Geography at the University of Zurich
Huwiler Ralph
Winter Patrick
Gwerder Martin
martin.gwerder@fhnw.ch