Skip to content

dev.release

akomakom edited this page Nov 14, 2018 · 7 revisions

Deployment

This page explains how to perform an Ehcache deployment.

There are five main tasks:

  1. Deploy to Maven central
  2. Create the Github release
  3. Deploy the website
  4. Deploy docker images
  5. Upgrade the samples

Three Github repositories are involved:

Your first task is to clone them if it's not already the case. One aside the other is the easiest.

git clone git@github.com:ehcache/ehcache3.git
git clone git@github.com:ehcache/ehcache.org-site.git
git clone git@github.com:ehcache/ehcache3-samples.git
git clone git@github.com:Terracotta-OSS/docker.git

Required credentials:

  • Credentials to close a staging Ehcache release on the Sonatype OSS Nexus
  • Ability to launch a build on the Terracotta Internal Jenkins
  • Push rights on ehcache3.git and docker.git
  • Admin of docker hub enterprise

We are now ready to start.

Ehcache uses a standard version scheme: major.minor.patch. There are 2 kinds of deliveries, the major.minor one and the patch one. The later being a bit simpler. Mostly because of the website.

A wizard will guide you through the full delivery. Just launch ./deploy.sh at the root of the Ehcache source directory.

When the development of the next major.minor version starts (see Lifecycle to know when that happens), launch ./start_next_version.sh to get you started.

Lifecycle

A release can occur from master or from a release/x.y branch. We perform all new development on master.

Then, let's say you want to deliver version 4.0.0 of Ehcache. You do it. You now have a v4.0.0 tag. Nothing changes and the gradle.propertie still says ehcacheVersion = 4.0-SNAPSHOT.

You merge a bunch of PRs containing bug fixes. At some point, you deliver 4.0.1. Again, nothing changes apart from the v4.0.1 tag that was added.

Now, you need to merge new developments. For the Ehcache 4.1. You will do two things. First, start a release branch named release/4.0. All bug fixes for 4.0 will go there. The next 4.0 delivery will be performed from there as well.

Then, you need to move master to 4.1. As explained above, a script is there to help you do it.

On it's side, a docker image will use a specific terracotta-platform version that ended up in the Ehcache kit.

Clone this wiki locally