I’ve been working on streamlining our deployment workflow at my current company. We have multiple microservices that were previously scattered across separate repositories, which made coordinating releases really challenging for our release team.
We decided to consolidate everything into one repository with different folders for each service. This helped reduce the management overhead, but now we’re running into some new challenges with our three-stage release process (dev, staging, prod).
The main problems we’re facing:
-
Selective deployments: We can’t easily deploy only the services that have actually changed. Every release triggers all services even if only one folder was modified.
-
Stage promotion workflow: Moving releases from staging to production is clunky since we need to work with tags that aren’t recent commits anymore.
-
Release approval process: There’s no built-in way to require code review for tag creation, which seems like a security risk.
I’m curious how other teams handle similar multi-stage release workflows. Are there better strategies or tools that make this process smoother? Any suggestions would be really helpful!