-
Notifications
You must be signed in to change notification settings - Fork 2.7k
ReleaseProcess
Releases are made automatically by Travis CI.
Travis CI runs on every push to master and uses the information in the .travis.yml to build each supported version of Kafka and push to Docker Hub.
Periodically, Apache will release patches for released versions of Kafka as documented in the Release Notes. You can subscribe to the Mailing List to opt-in to announcements.
We aim to support every latest major.minor
version of Kafka, i.e. Even though Kafka version 2.0.0
and 2.0.1
exist, we only actively maintain 2.0.1
.
When a supported version of Kafka has a new release, there are several files to update:
-
Dockerfile
- Update the default build args for Kafka / Scala versions (if new release). -
README.md
- Update the supported tags -
CHANGELOG.md
- Add that versions have been updated -
.travis.yml
- Update the versions in the buildmatrix
definition to reflect the requiredmajor.minor
version. If this is the most-recent Kafka version, then you should also updateLATEST_VERSION
variable to reflect the<scala>_<kafka>
version required. This is used to determine what version should be pushed to thewurstmeister/kafka:latest
tag on Dockerhub. -
For latest Kafka version only - update test/docker-compose.yml file. The
kafkacattest
service should have a default value of the latest Kafka version.
This process is exactly the same as 'updating Kafka versions' described above, except that instead of editing an existing version in the README.md
and .travis.yml
- a new version must be added. Also, the latest version must be updated in Dockerfile
, .travis.yml
and test/docker-compose.yml
.
Because, potentially breaking changes could have been introduced or incompatibilities - this may also require adding / fixing some tests in the test/
directory.
We are currently only supporting the recommended version of Scala as documented on the Release Notes page. This is mainly to reduce the build time, and due to lack of requests for other supported versions.
Kafka-docker does not rely on many dependencies, but the following should be checked regularly and updated following the normal release process (i.e. update README / CHANGELOG etc)
- openjdk base image - Currently we use the Java 8 Alpine version. Java 8 is currently EOL - but this is the supported Kafka version.
- glibc for Alpine linux - We currently use a pre-packaged glibc version to support SNAPPY compression. We should check for updates regularly, and update as required.