So far, we have assumed that the release process is mostly automatic. This is the dream scenario for people working with DevOps.
This dream scenario is a challenge to achieve in the real world. One reason for this is that it is usually hard to reach the level of test automation needed in order to have complete confidence in automated deploys. Another reason is simply that the cadence of business development doesn't always match the cadence of technical development. Therefore, it is necessary to enable human intervention in the release process.
A faucet is used in the following diagram to symbolize human interaction—in this case, by a dedicated release manager:
How this is done in practice varies, but deployment systems usually have a way to support how to describe which software versions to use in different environments.
The integration test environments...