Question is related to deployment of micro services .
Framework used – Lagom .
Suppose i Have two microservices Say M1,M2 which is in same git repository .
So we have only one build.sbt and both microservices are define in that build.sbt .
Now when we deploy these microsevices on kubernetes we have to make docker images with some tag .
I will give the Tag name of docker image , the version of microservices .
Now , i have two options for defining versions of microservices .
1. One is for every commit i will update versions of both microservices say 1.1 , 1.2 and so on .... , (here i have to increase version of both microservices as i do not know that for which microservice commit is done as repo is same for two microservices . )
I am using single repo as recommended by lagom doc Build Philosophy as we have very small team .
2. developer has to increase version in build.sbt every time he commit a feature or bug fix .
Now My question/Doubt is as follows
1.How should generally people manage version in this case . 2.There may be many bug fixes daily , so i do not want to update version on every small bug fix . 3.How to manage compatibility between microservices version .
Secondly , For deploying container images to kubernetes , we generally made deployment config(yaml files) …
Now, these may different for staging and development environments . and with some new feature there may come some system environment variable , which needs to be present in yaml .
My question here is .
1. How yaml are managed , for example , manual efforts required if these is some change in yaml . 2. How it can be made automated .
What lagom suggest what are the best practices for all above problems.