As you know, so far and for historical reasons, the continuous integration of Orekit and related software (Rugged, Hipparchus) has been entrusted to Jenkins. Since we use Gitlab CE and are convinced from experience that Gitlab CI/CD, the continuous integration orchestrator provided with Gitlab CE, is much more efficient and robust than Jenkins, it became clear over time that we had to abandon the second in favour of the first.
But Gitlab CI/CD only handles continuous integration. It doesn’t offer a dashboard for monitoring code quality. For this reason, Gitlab CI/CD couldn’t single-handedly replace Jenkins. We needed to provide you with another tool for code quality monitoring. We chose SonarQube because it provides extensive and detailed quality monitoring.
Another side effect of the Jenkins abandonment was that we needed an artifact repository manager because we were going to run all the continuous integration jobs in separate environments, inside Docker containers. We chose Nexus OSS Edition.
This new platform has been operational for a few weeks. We invite you to discover:
- verify: Orekit build, testing and code analysis.
- deploy:artifacts: Artifacts upload on the repository manager (only for master, releases and develop branches).
- deploy:site: Technical documentation (Javadoc, Maven static site) publication on the website (only for master, releases and develop branches).
Quality report. The quality indicators are remarkable for a project with such a history. This report highlights the project quality requirement.
Published artifacts. The artifacts corresponding to Orekit official versions are published in the “maven-releases” repository. Those corresponding to the development branch (snapshots) are published in the “maven-snapshots” repository.
Any change requires a little period of adaptation and we will do our best to provide you with the necessary support if these tools are new to you. But we bet that you will be quickly convinced by this new platform.
Now we have to deal with Rugged (which will use the same platform) and Hipparchus (which can’t use Gitlab CI/CD because its repository is hosted on Github).
All comments and questions are welcome.