New members: get your first 7 days of ITTutorPro Premium for free! Join for free

GitHub Develop a CI/CD Pipeline

Course Description



Learn how to use GitHub Actions to automate many common developer tasks. Discover how to build workflows triggered by events, develop a CI/CD pipeline, and create custom actions.

GitHub Actions is a continuous integration tool that allows developers to automate tasks for their web projects.

In this course, learn how to use this powerful tool to build workflows triggered by events, develop a continuous integration and continuous delivery (CI/CD) pipeline, and create custom actions.

Expert shows how to create your first actions and then construct a workflow that runs them, also demonstrates how to use actions from the GitHub Marketplace and public repositories, leverage the capabilities of GitHub Actions to support your CI/CD workflow, and plan and develop custom actions.


Share on:

Course Syllabus

Get the most from GitHub, the industry-standard tool for collaborating on and sharing code. Learn how to use features that support and enhance the modern software pipeline. This course shows developers how to extend their use of GitHub and how to leverage the GitHub ecosystem to customize and enhance existing workflows. Instructor Aaron Stewart, training content specialist at GitHub, explains important concepts such as managing organizations and teams, enabling continuous integration and delivery, conducting code reviews, and using branch protections. Plus, discover how to get out of sticky situations with Git by reverting past commits, resetting commits from history, locating changes, and reinforcing commits. Finally, explore inner-source culture, which can transform the way you collaborate within an organization—even when the software you’re developing is proprietary.

Learning objectives

  • Designing your delivery pipeline
  • Enabling continuous integration (CI)
  • Adding automated builds
  • Making changes based on code reviews
  • Adding unit testing
  • Adding continuous delivery to your CI pipeline
  • Examining commit relationships in Git
  • Working with branches in Git
  • Reverting changes
  • Troubleshooting in Git
  • Resolving merge conflicts
  • Fine-tuning the GitHub flow
  • Adopting an inner-source culture

Lesson 00 – Creating an Action

Lesson 01 – Creating a workflow

Lesson 02 – Adding actions to a workflow

Lesson 03 – Using an action from a repository

Lesson 04 – Developing a CI/CD pipeline with GitHub Actions

Lesson 05 – Building custom actions

Lesson 06 – Publishing an action to the GitHub Marketplace

Exercise files for Download and Practice.

Recently, Github announced that Github Actions now has support for CI/CD. What this means is that developers can now start using GitHub Actions to create a CI/CD pipeline. In this tutorial, we are going to build a CI/CD pipeline using Github Actions, the pipeline will deploy a react app to Heroku.

Github Action is still in beta, for you to have access to it you need to signup for the beta program. If Actions has been activated on your account you will see the actions tab appear on your repo.

The world’s most popular hosted repository service, GitHub is providing an integrated way to design and develop our workflows by automating the tasks through GitHub Actions.

Workflows are nothing but the steps we follow while bringing an application into production which includes unit testing, integration testing, building artifacts, sanity check, and deploying. In this article, I am going to introduce you to GitHub Actions and show you how to build your workflow to deploy a Machine Learning Application.

If you work in software development teams, you’re probably familiar with the concepts of Continuous Integration (CI) and Continuous Delivery or Continuous Deployment (CD). These practices are commonly combined in a CI/CD pipeline, which is an important part of DevOps. Basically, CI/CD allows you to automatically build, test, and deploy code changes – helping your team work more efficiently.

Continuous integration (CI) involves the test automation of feature branches before they are merged to the main Git branch in a project. This ensures that a codebase does not get updated with changes that could break something. Continuous Delivery (CD), on the other hand, builds upon CI by automating releases of these branches or the main branch. This allows small incremental updates that reach your users faster, in line with Agile software development philosophy.

Continuous integration/continuous delivery (CI/CD) pipelines are the foundation of modern software development, delivering business value in many ways: streamlined releases, software with fewer bugs and automation that removes many time-consuming and error-prone manual steps. You can develop software without CI/CD, but a CI/CD pipeline makes life much easier if your business uses Agile, cloud-native apps or any distributed application architectures such as microservices.

Using the CI/CD strategy in the software development life cycle has many advantages:

  1. Standardization of the code production and deployment process, helping to reduce errors and maintain code quality standards.
  2. Reduction in time and effort spent on testing and deploying the application manually. The DevOps team can focus on delivering features for the end-users.
  3. Ability to run tests on different platforms simultaneously and fix errors quickly
  4. Faster shipment of new features faster.

What you’ll learn :

  1. How to make a basic deploy pipeline for your code can setup quick, easily and for free.
  2. It can run in the cloud whenever someone pushes to your repo. It will warn you when something fails. So in case you forgot to run tests locally or you edited in GitHub UI, you’re covered.
  3. GitHub supports a pipeline service called GitHub Actions, covered in this post.
  4. We’ll create sample workflow in this post to run a Hello World flow to print a message with a shell command.

From: $14.99 / month

  • Vast selection of courses and labs Access
  • Unlimited access from all devices
  • Learn from industry expert instructors
  • Assessment quizzes and monitor progress
  • Vast selection of courses and labs Access
  • Blended Learning with Virtual Classes
  • Access to new courses every quarter
  • 100% satisfaction guarantee

You Will Get Certification After Completetion This Course.

Instructor Led Lectures
All IT Tutor Pro Formerly It Nuggets Courses replicate a live class experience with an instructor on screen delivering the course’s theories and concepts.These lectures are pre-recorded and available to the user 24/7. They can be repeated, rewound, fast forwarded.
Visual Demonstrations, Educational Games & Flashcards
IT Tutor Pro Formerly It Nuggets recognizes that all students do not learn alike and different delivery mediums are needed in order to achieve success for a large student base. With that in mind, we delivery our content in a variety of different ways to ensure that students stay engaged and productive throughout their courses.
Mobile Optimization & Progress Tracking
Our courses are optimized for all mobile devices allowing students to learn on the go whenever they have free time. Students can access their courses from anywhere and their progress is completely tracked and recorded.
Practice Quizzes And Exams
IT Tutor Pro Formerly It Nuggets Online’s custom practice exams prepare you for your exams differently and more effectively than the traditional exam preps on the market. Students will have practice quizzes after each module to ensure you are confident on the topic you are learning.
World Class Learning Management System
IT Tutor Pro Formerly It Nuggets provides the next generation learning management system (LMS). An experience that combines the feature set of traditional Learning Management Systems with advanced functionality designed to make learning management easy and online learning engaging from the user’s perspective.

Frequently Asked Questions

How does online education work on a day-to-day basis?
Instructional methods, course requirements, and learning technologies can vary significantly from one online program to the next, but the vast bulk of them use a learning management system (LMS) to deliver lectures and materials, monitor student progress, assess comprehension, and accept student work. LMS providers design these platforms to accommodate a multitude of instructor needs and preferences.
Is online education as effective as face-to-face instruction?
Online education may seem relatively new, but years of research suggests it can be just as effective as traditional coursework, and often more so. According to a U.S. Department of Education analysis of more than 1,000 learning studies, online students tend to outperform classroom-based students across most disciplines and demographics. Another major review published the same year found that online students had the advantage 70 percent of the time, a gap authors projected would only widen as programs and technologies evolve.
Do employers accept online degrees?
All new learning innovations are met with some degree of scrutiny, but skepticism subsides as methods become more mainstream. Such is the case for online learning. Studies indicate employers who are familiar with online degrees tend to view them more favorably, and more employers are acquainted with them than ever before. The majority of colleges now offer online degrees, including most public, not-for-profit, and Ivy League universities. Online learning is also increasingly prevalent in the workplace as more companies invest in web-based employee training and development programs.
Is online education more conducive to cheating?
The concern that online students cheat more than traditional students is perhaps misplaced. When researchers at Marshall University conducted a study to measure the prevalence of cheating in online and classroom-based courses, they concluded, “Somewhat surprisingly, the results showed higher rates of academic dishonesty in live courses.” The authors suggest the social familiarity of students in a classroom setting may lessen their sense of moral obligation.
How do I know if online education is right for me?
Choosing the right course takes time and careful research no matter how one intends to study. Learning styles, goals, and programs always vary, but students considering online courses must consider technical skills, ability to self-motivate, and other factors specific to the medium. Online course demos and trials can also be helpful.
What technical skills do online students need?
Our platform typically designed to be as user-friendly as possible: intuitive controls, clear instructions, and tutorials guide students through new tasks. However, students still need basic computer skills to access and navigate these programs. These skills include: using a keyboard and a mouse; running computer programs; using the Internet; sending and receiving email; using word processing programs; and using forums and other collaborative tools. Most online programs publish such requirements on their websites. If not, an admissions adviser can help.