jan-zabloudil / release-manager

Platform-agnostic tool that streamlines daily operations in release management, planning and deployments 🚀
BSD 3-Clause "New" or "Revised" License
2 stars 0 forks source link

refactor: merge deployment service into release service #135

Closed jan-zabloudil closed 3 months ago

jan-zabloudil commented 3 months ago

Originally, I created a separate service for Deployment. However, when I wanted to update the function for sending Slack notifications (in the ReleaseService), I also needed to fetch a deployment (to show it in the notification). And in the Deployment service, I also need to get a release, which resulted in a circular dependency.

To resolve this, I decided to move the Deployment functionality into the ReleaseService.

Another solution could have been to create a "ReleaseDeployment" service, but that didn't make sense given that both release and deployment are small services.

Note: Moving it to the ProjectService would also result in a circular dependency issue.


It feels like a lot of changes, but it is just renaming and moving things around.

bolshakoff commented 3 months ago

Fair enough.

Btw, regarding deployments, I would maybe not go too hard with them. In general and especially now that they are a part of Release domain again.

I mean, if we are going to have a list of deployments (on FE and as an endpoint), that's great, and the current setup should be enough. But in the long run, it might have an even bigger potential, and much more work, and probably in a separate domain, because:

It's great that we still have Deployment as a separate type with a separate table, but I'd rather treat it as a teaser to the above. And in the thesis it could be a nice ending, something like "Deployments have a huge potential, but we leave it for a future research." 😄