The app build makes use of the common plug-ins like the GitHub branch source plug-in, but on top of that, it uses the GitHub Commit Skip SCM Behaviour plug-in, to skip commits containing 'ci skip' in the commit message. The build makes use of this to commit the version number to Git. Without this plug-in, the build would run into an endless loop, as a build results in a commit, which would result in another build.
The job configuration contains a couple of interesting parts.
The first step is to configure where the branch(es) to be built are stored. This is defined through the GitHub branch source plug-in:
Note the middle filter (Filter branches by commit message). Without this filter, the build would run into an endless loop, as a build results in a commit, which would result in another build. This filter is provided by the GitHub Commit Skip SCM Behaviour plug-in.
The rest of the job configuration is trivial: