Hi Ranjeet -
I'm not completely sure what you mean by "calculating the delta," but I think you mean this:
- you're building a bunch of microservices
- you have some integration tests
- each time the integration tests pass, you want to know which microservices have new versions since the last push to production
If that's the case, Go CD should be able to give you what you want with it's
compare builds and
fan-in features.
If you model things this way:
- each services has its own pipeline
- the service pipelines all fan-in to an integration pipeline
You could then compare any two runs of the integration pipeline. You'd see upstream pipeline labels/versions as well as have the ability to drill into SCM detail of the upstream changes.
But all that said... if you are only calculating the delta to figure out which services to deploy, Go's fan-in and artifact propagation would likely allow you to skip that bit altogether. Assuming you fetch all the deployable service artifacts for the integration pipeline, you could deploy downstream from the integration testing without worrying about which individual service needs to be deployed.
Obviously, I don't know much of the details of what you are looking to do, so some of that might be off. But perhaps it is helpful.