Release Management
09 Oct 2015The following are the slides from a talk I am giving on Friday, October 9, 2015:
The premise behind the talk is to describe why, and to some extent how, to include “Software Releases” within your Continuous Delivery pipeline. A Software Release isn’t the same thing as “deploying/shipping/rolling out” to any particular environment; those verbs are the action you perform on the deployable thing that the release creates.
I think releases are an important step for a few reasons:
- Releases are really easy to make and cost nothing.
- Releases have an identifier that expresses something meaningful to people beyond your developers.
- Releases make tags in your version control.
- Releases make deployable things.
- Releases are immutable.
All of these things give you clarity:
- What is in production right now?
- What was in production yesterday?
- What is the significance of today’s release?
Releases also give you a repeatable way to deploy any milestone of your project; going back to any particular state is a lot easier, and doesn’t depend on a single individual or a data recovery system.
A lot of this is covered in the presentation and the notes. What’s not shown in the slide deck is the tour of my team’s chosen tools to perform release management.
Screenshot Tour
Here are some screenshots of JIRA (task tracker and project management), Bitbucket (git version control), and Sonatype (artifact repository)
Road Map for upcoming versions:
Summary for next release:
In progress work:
Release notes from a prior version:
Tags in version control:
Deployable artifacts: