I have a spring startup project with 4 microservices (Eureka service registry, Config server, a Zuul gateway and a user service) in a repository with a parent project where I have a file docker-compose.yml that reads the Dockerfiles files in the microservices project and uses the "application-docker.yml" and "bootstrap-docker.yml" files
What I would like to do is trigger a jenkins pipeline after a commit in git so that it can compile and deploy the microservices into Docker. Eventually, I'd like a production setup that deploys the images in Kubernetes, maybe AWS.
Now, to work, microservices must start in order:
- configuration server
- eureka service registry
- gateway, etc.
What is the best practice?
If I have separate repositories by microservice, I think I can understand it. It should be easy to deploy a single microservice assuming that the configserver and eureka service registry is already operational and that in reality it should never change.
If I have only one repository and I continue to develop new microservices, should I have a separate jenkins file by microservices or can I have a jenkins file in the parent project and use docker-compose ?
How it works? All online articles that can help (impossible to find). Does it make sense?