The way to fully automated releases in open source projects
How to use conventional-commits and semantic-release in combination with GitHub and Travis.
Developing and testing is only one part of the art of creating software. Another part is shipping the artifact. 🚢
Delivering software requires some steps; we need to run tests, build our artifact and publish or deploy it somewhere. Most often, those steps are executed in a pipeline.
A pipeline is a way to automate all the required steps. Therefore tooling and CI servers with the necessary configuration are needed.
A lot of companies have a complicated setup and need whole teams to maintain such a platform.
Wow! 😮 That sounds complicated. “Maybe it’s better to forgo about CI and pipelines. I do everything manually” is probably what you think right now.
But no! Thanks to the great landscape of existing tools out there it is not that complicated!
Benefits of automatic releasing
Before we have a look at how to set up our pipeline with automatic releasing, let’s first clarify why it’s important.
Usually, a release, if it is done properly, causes a bunch of things.