Introduction
Release management entails many tasks and responsibilities and can be daunting when the size of the team and the project grows. Examples of these tasks are:
- tracking released versions
- managing merge policies between branches
- fetching information from the commit history
- granting a consistent versioning policy
- assigning consistent release numbers to new releases
- generating artifacts such as the changelog
- publishing the released artifacts
- sending notification upon new releases
Some of these tasks can be automated and here is where Nyx comes into play. Once set up is complete, either by detailed configuration or by using presets, you can just forget all of the above and make your release process a no brainer.
Things you need before you get started
To get started you need a Git repository, which can be local only or hosted on a central repository like GitHub and GitLab.
You also need to make a few decisions such as:
- the version scheme to use (chances are you want to use SemVer)
- the branching strategy to use. If you don’t have one you can assume you’re using the mainline only, which is the simplest one to start with
- the release types you want to manage and what is your desired workflow for each
- the commit message conventions you have adopted to provide structured information along with commits