Reputation: 22279
Given a system built using microservices (somewhat diverified tech stack - parts in ASP.NET Core, Node.js, React, python - the right tool for the job etc etc). The whole system is to be released to end users in fixed increments (let's say each sprint), in a "trunk based development approach". That is, the system is devloped using feature teams able to work on all components. How would you version each microservice? The system as a whole is what the end user faces and what can be tested using integration tests etc.
I can find two alternatives.
I'm leaning at #1. Seems like the easy way out. What is the best practice? Monolith/single framework is not an option.
Upvotes: -1
Views: 840
Reputation: 724
My experience with trunk based development has led me to use semantic release or its python variant python-semantic-release. These are pretty standard tools which are able to parse your angular style commit message based on commits in the trunk and accordingly bump the version, push git tags and even release packages to artifactory. However, in the case of micro-services it would suffice to bump the version and push the git tags, which can then be used as a version for the docker images (assuming that you have micro-services which run inside pods based on the docker images).
Upvotes: 1