About
A release is packaging your application under a version in a format that is suitable for the distribution channel.
If you publish your application to:
- a package manager, you should create your application in the required directory structure
- a website for easy download and install, you would wrapped it into an installer
Generally, every build produces at minimal your code in the form of an archive and you may add extra resources.
For instance:
- for a library, you would need to create a descriptor file that describe the version, the description,…
- for an application, you would add the documentation
A release implies several steps such as:
- that will trigger a build (for instance in a continuous Integration system)
- that will create a versioned artifact files
- and deploy them (generally upload them in a repository).
- … etc
Articles Related
Lifecycle
Stable
Stable release are periodic release of code that will not change continuously.
Development
While stable releases might be get a version with dotted numbers, development versions of a project often need to be tracked by:
- revision
- build number
- or even build date.
Management
Audit
- See Rat (Release Audit Tool) - audits license headers — the boilerplate text needed in most source files.
- Whisker helps maintaining and verifying the LICENSE and NOTICE documents shipped (ie producing accurate licensing documentation)
Note
The log of the version control system can be used to generate release notes.
Tools:
- maven-changes-plugin helps generate the release notes from an xml file (Example: changes.xml)
- maven-changelog-plugin can help to see all VCS commits.