A few notes:
- This does not yet contain deployment jobs in the pipeline
- I tried to generate javadocs and publish them with GitLab Pages, but the javadoc generation gave errors, so it is not included in the pipeline.
- I also initially included a pipeline job to perform SonarQube analysis, but it failed since our version of SonarQube does not support Java 17. I have commented out that job in the pipeline configuration so that we can easily enable it when SonarQube is upgraded.