Deploys are a shared adventure. Likely, the deploy is not going to contain one developer's code changes. Likely, there will be multiple changes going out at once. For this reason, it's important that a deploy be accessible by anyone at anytime.

Similarly to the "small changes" mentality in version control, small changes in production can also be beneficial. Despite rigorous testing, issues may still occur in the code being deployed. When bad things happen, it's important to be able to quickly revert (rollback) the changes and identify where the bad changes are. If you have a lot of changes going out at once, you will not easily know if the changes are safe to revert and you will need to spend time identifying which commit broke the application. During this time, developers will not be able to ship changes, including emergency fixes.

Shopify provides an open source software called ShipIt that allows you to visualize code going out across any GitHub repository. It also allows you to automate merges on PRs that have passed its checks, deploy Kubernetes, automatically deploy in intervals, and deploy to Heroku. This software is a fantastic starting point, but comes with a major caveat: everything must share the same deploy environment. This means that you likely need a master docker container capable of deploying anything.

Other systems can manage deploys themselves, however GitHub actions (currently beta) should provide a good way to deploy systems. They can be triggered on certain actions, and perform certain actions in a Docker container. This, of course, is a perfect candidate for deploys.