Continuous integration with Travis & GitHub

What is continuous integration?

  • merge development branches with the main branch several times a day
     
  • main branch automatically tested at every commit
     
  • ensures that the product is always deliverable

Travis CI

  • online service for CI
  • free for public projects
  • perfectly embedded with GitHub

Configuration steps

  1. sign up with your GitHub account
  2. choose the repository that you want to test
  3. add a .travis.yml file to your repository with your build configuration

  4. the next commit will trigger Travis

Build configuration

language: python
python:
  - "2.6"
  - "2.7"
  - "3.4"
install:
  - pip install pytest-pep8
script: py.test --pep8

Slack integration

  1. Go to "Configure Integrations" panel in Slack
  2. Add the given code to your .travis.yml configuration file
notifications:
  slack: nonatomiclabs:v70RKis1I9cVYwFCjzre8KA1

Many other options

  • pull requests support
  • code coverage report
  • Heroku deployment
  • build matrix

Thank you for your attention!

git clone http://github.com/filaton/basic_travis.git

Continuous integration with Travis and GitHub

By Jean Cruypenynck

Continuous integration with Travis and GitHub

  • 1,175