Apache Tomcat Release Process


This is written primarily for Apache Tomcat release managers although it may also be of interest to anyone looking to validate and/or replicate the release process. This page uses Tomcat 7 as an example but the same process applies to later versions as well.


Preliminary checks

Create the tag

The aim is to create a copy of the current trunk but without the "-dev" appended to the end of the version number.

I found it simplest to keep this clone for tagging to ensure no other edits found their way into the tag.

Build the release

I'm using Git Bash for the above. Adjust as necessary for you choice of tools.




gpg.exec=C:/Program Files (x86)/GNU/GnuPG/gpg2.exe


# Tomcat 7 currently requires both JDK 6 and JDK 7 to build a release
# JAVA_HOME system property used by Ant has to point to JDK 6 and this points to JDK 7
java.7.home=C:/Program Files (x86)/Java/jdk1.7.0_45


Upload the release

Upload the contents of TOMCAT_7_0_XX/output/release to https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/

Generate the Maven artifacts

See https://github.com/apache/tomcat/blob/7.0.x/res/maven/README.txt steps 1 to 3 (not step 4!)

Call a vote

If the vote passes

If the vote does not pass