We have already described everything about how the Continuous Integration pipeline should look. However, when exactly should it be run? Of course, it is triggered after the commit to the repository but after the commit to which branch? Only to the trunk or to every branch? Or maybe it should run before, not after committing so that the repository would always be healthy? Or, how about the crazy idea to have no branches at all?
There is no single best answer to these questions. Actually, the way you use the Continuous Integration process depends on your team development workflow. So, before we go any further, let's describe what the possible workflows are.