CI For Gitflow Or Feature Branch Workflows
Many Shippable customers create branches on their source control repository in order to work on new features.
Let's take an example of two developers, Ted and Mary, who're going to work on Feature #42 for the FooApp application. Their feature branch workflow will look something like this:
- Ted creates a feature branch off the
master
branch. He calls the new branchfeature-42
- Ted and Mary commit code changes to
feature-42
- When coding for Feature #42 is complete, Mary sends a pull request to merge
feature-42
intomaster
- A dev lead reviews the pull request.and if everything looks good, merges the code into
master
- If the merged code passes all checks,
feature-42
is deleted
Fig 1: Gitflow workflow
The Atlassian team has written a more detailed description of the feature branch and Gitflow workflow which explains how to handle it from a source control provider perspective:
Let us look into how you can configure your Continuous Integration (CI) platform to handle these scenarios. In this example, we'll use Shippable's native CI functionality.