Continuous integration with Travis CI

Learn about the principles of continuous integration with GitHub and Travis CI.

Start free course Join 1886 others!

social preview

Once you've written code on GitHub, how do you make sure it's bug free? Continuous integration (CI) is a requirement in modern software development. Adding automated tests and controls to your pipeline saves you time and gives your team improved reliability.

What you'll learn

In this course we'll answer common questions, like:

  • How do I configure Travis CI to work with GitHub?
  • How can I protect my branches so CI tests pass before merging is allowed?
  • What are build statuses?
  • How do I create a test?

After completing this course, you will be able to:

  • Identify when a project is using continuous integration
  • 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
  • Define continuous delivery
  • Define continuous deployment

What you'll build

GIF of a pull requests with a pending status, and then clicking into the Travis CI interface to see the build running and passing


We recommend you first complete the following courses:

Projects used

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


Developers, DevOps engineers, IT Operations, teams

Steps to complete this course 11
  1. Enable continuous integration

    Enable continuous integration on this repository.

  2. Use a specific version of a language

    Perform CI tests with a specific version of Ruby.

  3. Merge the configuration

    Share your CI configuration with the team by merging it.

  4. Add validation

    Add automated builds for new commits

  5. Protect the main branch

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

  6. Fix the broken build

    Fix any broken links currently in our codebase.

  7. Merge code with a successful build

    Merge your code.

  8. Add an HTMLProofer unit test

    Check for broken links using CI.

  9. Fix the broken link

    Fix the broken link.

  10. Merge the unit test

    Merge the test.

  11. Deploy

    Add continuous deployment to your pipeline.

continuous integration (CI)
test-driven development (TDD)
protected branches
commit status
Share this course
Average time to complete

74 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.