Development Tools


GitHub-Workflow Git Branching Strategy plus Jenkins for CICD

Design a Comprehensive GitHub-Workflow Git Branching Strategy with a fully functional Jenkins Multibranch CICD Pipeline

5.00 (5 reviews)

GitHub-Workflow Git Branching Strategy plus Jenkins for CICD


1 hour


May 2021

Last Update
Regular Price

Unlimited access to all SkillShare courses

What you will learn

How to set up and configure Jenkins multibranch CICD pipelines

How to expose Local Virtual Linux machines to the internet with Ngrok

How to enable multiple developers work on a project

How to use Git as a DevOps Engineer


As a DevOps engineer, very good knowledge and experience of Git is a MUST-HAVE in order to succeed in the field.

Git is a DevOps tool used for source code management. It is used for tracking changes in the source code, enabling multiple developers to work together on a project.

In this course, we will be talking about Git branching strategy/workflow. There is four most popular branching workflow for Git - Git Flow, GitHub Flow, Gitlab Flow and One Flow.

Each of them has its pros and cons.

Our main focus in this series will be designing and implementing the GitHub workflow as described by Scott Chacon a former employee at GitHub.  and since no DevOps project is completed without proper implementation of CI and CD, we will use Jenkins to take care of that.

We will later add Git Flow to our system. So, at the end of the day, our Git branching strategy will have a little bit of Git Flow, GitHub Flow and GitLab Flow.

The Project Features

A well designed GitHub workflow as described by Scott Chacon ( Former GitHub employee).

A multibranch Jenkins pipeline that will run Continuous Integration(Build and Test) when (1) there’s an even on any branch (2) a new branch is created (3) a PR is created.

The pipeline will run Continuous Deployment when another branch is merged or there is a push event on the master branch.

In the case of the mixed flow, the pipeline will deploy to staging when any branch is merged or there is a push event on the develop branch and deploy to production when the develop branch is merged onto the master branch.

We are hosting the Jenkins Instance on our local DevOps lab. So you will not have to pay any cloud service provider to practice.

We will host the project code on Github and configure a Github webhook to inform Jenkins of any activity on the code repository.

We will expose our local Jenkins instance to the internet through ngrok so it can communicate with Github.

This a very important project that you can have in your resume as an experienced engineer.





Code Setup

Create a GitHub repository

Set up the sample code on a dev environment

CICD Setup

Create and configure a Jenkins multi-branch pipeline

Configure build and test stages of the pipeline

Expose local Jenkins to the internet

Configure a GitHub Web hook to trigger the pipeline build

Test the web hook and the pipeline

Only events to the master branch should trigger the deploy stage

Working With Multiple Developers

Adding a contributor to the project

Set up the project on your virtual desktop

Collaborations demo

Testing the solution with a failing automated test

Mixed Git Branching Workflow


Mixed flow setup

Mixed flow demo


Ricky18 May 2021

This is another great course from Dare! This is the best course on the subject of Github-Workflow. Highly Recommended!

Related Courses

Git & GitHub Crash Course
Git & GitHub Crash Course
Git & GitHub 101: For absolute beginners!
Git & GitHub 101: For absolute beginners!
Xamarin & Firebase: Authentication and Firestore for Xamarin (Plus GitHub & Mobile DevOps)
Xamarin & Firebase: Authentication and Firestore for Xamarin (Plus GitHub & Mobile DevOps)


Udemy ID


Course created date


Course Indexed date
Course Submitted by