Ontrack 3.41

Ontrack 3.41 release is now available and this is a big one.

First of all, it's never been so easy to get started with Ontrack. Just make sure you have Docker Compose available and run:

curl -fsSLO https://raw.githubusercontent.com/nemerosa/ontrack/master/compose/docker-compose.yml
docker-compose up -d

This will launch Ontrack together with the backend it needs: Postgres & ElasticSearch.

Yes, ElasticSearch! That's the main hot take for this release: your researches in Ontrack (versions, branches, tickets, commits, etc.) has never been so fast (see below).

Also, a brand new site for Ontrack at https://nemerosa.github.io/ontrack/

ElasticSearch support

The search in your Ontrack instance is sluggish? Enable ElasticSearch. It's still an opt-in feature in version 3.x because I did not want to break backward compatibility but will be enabled by default in version 4.

To enable it, just make sure the two following environment variables are set for your Ontrack instance:

ONTRACK_CONFIG_SEARCH_ENGINE = elasticsearch
SPRING_ELASTICSEARCH_REST_URIS = <elastic search URL>

See the reference docker-compose.yml file for an example using Docker Compose.

The very first time you enable ElasticSearch on an existing installation, go to the System jobs administration console and run the All re-indexations job. Once. That's it. ElasticSearch will catch up with your past data.

For new installations, nothing needs to be done.

SonarQube metrics

Ontrack is now able to connect to SonarQube and collect measures to associate with builds.

For example, you can configure Ontrack so that everytime a build is scanned for SonarQube, it fetches some measures (like coverage, count of blocker issues, etc.) and links them to the build.

See the SonarQube in Ontrack documentation for more information.

Support for Vault key-value store

The Ontrack encryption keys can now be stored in Vault KV store.

See the Vault in Ontrack documentation for more information.

Migration to Spring Boot 2.1

Ontrack runtime has been migrated from Spring Boot 1.5 to 2.1. This has some impacts on some configuration properties and some dependencies.

The new configuration properties are listed in the documentation.

As for the dependencies, this might have an impact on existing extensions to Ontrack. Please fill a ticket if you have issues on this subject.

Roadmap

This version 3.41 is a big one. There will likely be some other few 3.x versions but I'll start working on version 4 in the next months:

  • ElasticSearch as a default
  • getting rid of the thousands of lines of code needed to support Subversion. Only Git will be supported from then on.
  • better stateless setup for the Ontrack application
  • better performances
  • brand new DSL experience to interact with Ontrack (sending & retrieving information)

I still need to consider which 3.x version will be considered as LTS (Long Term Support).

Complete change log since 3.40

Generated using Ontrack :)

Features

  • #689 Support for SonarQube metrics
  • #723 Using Elasticsearch for searches

Enhancements

  • #61 Git: force sync before any activity
  • #692 Having access to the build change log from the history of builds in the validation stamp page
  • #713 Extensions should be able to use ES6
  • #740 The Elasticsearch job "reindex all" should wait for other jobs to complete

Fixes

  • #685 Vault V2 does not seem to be supported
  • #718 Validation stamp argument is not taken into account by Build.validationRuns GraphQL field
  • #729 Protect the Git commit indexation against empty repositories
  • #730 Cannot delete project any longer from UI
  • #731 Cannot update a project any longer
  • #739 Cannot get Git change logs any longer
  • #744 Do not activate the Elasticsearch health indicator when ElasticSearch is not activated

Other

  • #592 Migration to Spring Boot 2
  • #693 Typo in a link from the documentation for promotion levels
  • #694 Fix for #693 - typo in documentation
  • #700 Remove dependencies on Guava
  • #722 Fixes #61 Can't launch ontrack in command line
  • #726 Cleanup of logging
  • #727 The validation stamp filter is not kept in preferences
  • #735 Publication of Ontrack UI simple JAR + Boot JAR
  • #743 Simplify setup of Ontrack for new comers