Slide 1

Slide 1 text

Senko Rasic (@senkorasic) goodcode.io Continuous Integration in 5 minutes

Slide 2

Slide 2 text

Senko Rasic (@senkorasic) goodcode.io Step 0: have tests don't tolerate failing tests

Slide 3

Slide 3 text

Senko Rasic (@senkorasic) goodcode.io

Slide 4

Slide 4 text

Senko Rasic (@senkorasic) goodcode.io Step 1: make it easy to recreate the testing environment pip install .

Slide 5

Slide 5 text

Senko Rasic (@senkorasic) goodcode.io Step 2: set up a CI server (Jenkins, Travis, Circle, Bamboo, ...)

Slide 6

Slide 6 text

Senko Rasic (@senkorasic) goodcode.io .travis.yml language: python python: - 2.6 - 2.7 - 3.3 install: pip install . script: python setup.py test

Slide 7

Slide 7 text

Senko Rasic (@senkorasic) goodcode.io

Slide 8

Slide 8 text

Senko Rasic (@senkorasic) goodcode.io

Slide 9

Slide 9 text

Senko Rasic (@senkorasic) goodcode.io bonus: lint on CI install: pip install . flake8 script: - flake8 . - python setup.py test

Slide 10

Slide 10 text

Senko Rasic (@senkorasic) goodcode.io Step 3: coverage install: pip install . coverage script: coverage python setup.py test

Slide 11

Slide 11 text

Senko Rasic (@senkorasic) goodcode.io coveralls.io install: - pip install . coverage coveralls script: - coverage python setup.py test after_success: - coveralls

Slide 12

Slide 12 text

Senko Rasic (@senkorasic) goodcode.io

Slide 13

Slide 13 text

Senko Rasic (@senkorasic) goodcode.io Thanks! Q? grab me afterwards