You may find GitLab's proposal of interest. https://about.gitlab.com/2016/07/27/the-11-rules-of-gitlab-f...
This outputs artifacts to a sonatype nexus repo. From there, the binary can be promoted either automatically or manually to various environments.
It breaks Gitlabs rules of CI modifying the repo (with no explanation) but it allows any developer with any level of experience to easily release the product