This is pretty much identical to how Gitlab does it. I was hoping they would take it at least one step further not just copy it.
Some of the ideas we're working on to improve it further:
- deployment environments (acceptance, pre-prod, prod)
- manually confirming deployments for production
- review apps deployments of feature branches