Skip to content

Create packages for windows and linux using CI

This automates the whole build process of universis-signer repository. For the linux packages, it creates both packages for both Debian-based and for RHEL-based distributions.

For the debian based, it uses the latest ubuntu lts version (20.04) to create the package, by compiling the code using maven and openjdk 1.8. It then creates the necessary folder structure required by the debian tools and creates the .deb using dpkg-deb --build command and outputs the result to build directory.

For the rhel based (rpm), it uses the latest fedora release (34) to create the package, by getting the latest master, compiling it using maven and openjdk 1.8, and packaging using rpmbuild --bb command.

In both the linux packages, upon install the package is put under /opt/ and is registered as a systemd service.

On the windows side, it uses the currently experimental windows shared runners of GitLab CI and Inno Setup to package the application. As currently the signer application can't get compiled under jdk 11 and up (#10), and the windows environment comes with OpenJDK 12 preinstalled, it removes it using choco and installs all the necessary dependencies. It defines the necessary environment variables and then compiles and packages the application using maven, openjdk 1.8 and Inno Setup

For all the above steps, the final packages are located under build/Output and are exposed in the CI job.

Closes #20 (closed)

Edited by Pavlos Karakalidis

Merge request reports