Deploying to on-premise DTAP

My development squads are using a task-based branching model (short-lived branches) and each squad had their own (on-premise) test environment. When changes have passed the build and have been verified the changes are merged into master (through a pull request) and then deployed to staging (for final QA) and then production.

My build plan in CircleCI builds and stores artifacts.

Which approach/tooling is recommended to give development teams the ability to deploy a specific build result to their squad’s respective test environment?

Setting up deployment as part of the build plan through the yml file based on branches seems like a possible approach, but requires each team to have a long-lived branch which is a nightmare to keep in sync with master. Does anybody have experience with deployment-specific tooling (Octopus Deploy, Spinnaker, etc.) to manage deployments to specific environments?

Of course I could have my devs build a custom application which would connect to the CircleCI API to retrieve succesfull builds and allow them to select a target environment to deploy to (and kick off some shell scripts from there), but that all seems pretty tedious and I guess others might have had this issue too.