Continuous integration with CircleCI

Learn how to automatically test changes made to your project, freeing you up to write more amazing code.

Start free course Join 4177 others!

social preview

In modern software development, developers integrate code into a shared repository several times a day. With such frequent code changes, how do you ensure your code is bug free? Continuous Integration (CI) is an approach to software development in which tests run automatically anytime code is changed, saving you time and giving your team improved reliability. Continuous Deployment or Delivery (CD) refers to whatever happens after these tests run. If they pass, your new code can be automatically deployed to production, with the help of a CI/CD platform like CircleCI.

What you'll learn

  • Define continuous deployment
  • Identify how projects use CI
  • Set up continuous integration for one of your projects
  • Protect branches based on the result of a build from continuous integration
  • Customize builds
  • Add tests for your project

What you'll build

screen shot of finished GitHub pages site

  • You'll build a GitHub Pages site hosting documentation while using circle-ci to check the builds, run unit tests, and more.


Before you take this course, you may want to go through the Introduction to GitHub course on Learning Lab.

Projects used

This makes use of the following open source projects. Consider exploring these repos and maybe even making contributions!

  • Jekyll: a simple, blog-aware, static site generator.


Developers, GitHub users, users new to Git, students, managers, teams

Steps to complete this course 12
  1. Enable continuous integration

    Enable continuous integration on this repository.

  2. Introduce the configuration file

    Learn how to use CI by introducing a configuration file.

  3. Specify the docker image

    Specify the docker image.

  4. Merge the configuration

    Share your CI configuration with the team by merging it.

  5. Add validation

    Add automated builds for new commits.

  6. Protect the main branch

    Require that CI returns a successful status before a PR can be merged.

  7. Fix the broken build

    Fix any broken links currently in our codebase.

  8. Merge code with a successful build

    Merge your code.

  9. Add an HTMLProofer unit test

    Check for broken links using CI.

  10. Fix the broken link

    Fix the broken link.

  11. Merge the unit test

    Merge the test.

  12. Deploy

    Add continuous deployment to your pipeline.

Continuous Integration
Share this course
Average time to complete

116 minutes


All public courses on Learning Lab are free.

Latest release

Users who took this course also took

What is GitHub Learning Lab?

Learn new skills by completing fun, realistic projects in your very own GitHub repository.