nw  

SPECCHIO automated build

Summary

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.

Keywords

Java, Gradle, Virtualbox, Jenkins, CI/CD, Packer, Ansible, Static-Site-Generator

Initial Position

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.

Goal

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.

Results

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.

GitHub Webhook Flow
Project facts
Project duration 1 Semester
Man hours invested 400h (200h per person)
Team size 2 Students
Customer

Andreas Hueni, Department of Geography at the University of Zurich

Project team

Huwiler Ralph
Winter Patrick

Contact

Gwerder Martin
martin.gwerder@fhnw.ch

<< zurück