-
Notifications
You must be signed in to change notification settings - Fork 579
dev.release
This page explains how to perform an Ehcache deployment.
There are five main tasks:
- Deploy to Maven central
- Create the Github release
- Deploy the website
- Deploy docker images
- Upgrade the samples
Three Github repositories are involved:
- Ehcache source code
- Ehcache website source code
- Ehcache samples source code
- Terracotta docker images
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
anddocker.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.
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.