show an open source project some love and start using travis-ci
DESCRIPTION
Lots of us are looking for an open source project to help with, but sometimes it is hard to find a way to contribute. I'd like to recommend that folks start to consider using Travis-CI and adding Travis-CI scripts to projects that don't already have them. Lets look at what it takes to build a project using Travis and the benefits that a project can take advantage of if they use the service. This was originally presented at CodeMash v2.0.1.4 in Sandusky, Ohio on January 10, 2014TRANSCRIPT
![Page 1: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/1.jpg)
SHOW AN OPEN SOURCE PROJECT SOME LOVE AND START USING TRAVIS-CI
Joel Byler@joelbyler
January 10, 2014CodeMash 2.0.1.4Kalihari ResortSandusky, OH
JJ
Sunday, January 12, 14
![Page 2: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/2.jpg)
WHO AM I? JOEL BYLER
Aspiring Software Craftsman Organizer for Cleveland Ruby
Brigade (aka CleRb) Enterprise Java developer Actively growing my Ruby and
JavaScript skills
Sunday, January 12, 14
![Page 3: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/3.jpg)
WHO ARE YOU?
Want to get involved in an Open Source Project?
Currently maintaining an Open Source Project and interested in your CI options?
Sunday, January 12, 14
![Page 4: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/4.jpg)
COMMON PROBLEMS WHEN SHARING SOURCE CODE Work’s on my machine syndrome Didn’t realize I need to test on that
version of ruby/node/etc. Pull requests - how do I know if
this will break the build? Would love run tests on commit,
but don’t have $$$ for equipment.
Sunday, January 12, 14
![Page 5: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/5.jpg)
CONTINUOUS INTEGRATION...is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.
~Wikipedia
...is a software development practice where members of a team integrate their work frequently
~Martin Fowler
Sunday, January 12, 14
![Page 6: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/6.jpg)
CONTINUOUS INTEGRATION CONTD. Once the code is built, all tests should run to confirm that it behaves as the developers expect it to behave.
~Wikipedia
...verified by an automated build (including test) to detect integration errors as quickly as possible...
~Martin Fowler
Sunday, January 12, 14
![Page 7: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/7.jpg)
TRAVIS-CI
Hosted Free for open-source projects Supports MANY Languages Can run against multiple
runtime versions MOAR!
Sunday, January 12, 14
![Page 8: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/8.jpg)
WHAT PEOPLE ARE SAYINGYou don’t have to take my word for it.
Sunday, January 12, 14
![Page 9: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/9.jpg)
QUOTESWhat Github did for sharing code, Travis CI will do for testing code
- Brian Ford, Rubinius, @brixen
I'm sure there was life before @travisci, but I choose to ignore it.
- Jeff Casimir, Jumpstart Lab/Hungry Academy @j3
I have used many CI systems, but Travis is the most awesome one so far!!
- Aslak Hellesoy, THE Cucumber Guy, @aslak_hellesoy
Sunday, January 12, 14
![Page 10: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/10.jpg)
TRAVIS BUILD LIFE-CYCLEAny of the following steps will fail build when finishing with a non-zero exit code-clone github repository-cd to new directory-before_install:-install:-before_script:-script:==== build will not fail past this step ====-after_success:-after_failure:-after_script:
prepare the systeminstall prerequisites or dependencies
prepare your build for testingspecific to project language
Sunday, January 12, 14
![Page 11: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/11.jpg)
LANGUAGESTest all the things!
Sunday, January 12, 14
![Page 12: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/12.jpg)
WORKS FOR YOUR LANGUAGE(PROBABLY)CC++CLOJUREERLANGGOGROOVYHASKELLJAVA
JAVASCRIPT (WITH NODE.JS)
OBJECTIVE-CPERLPHPPYTHONRUBYSCALA
Sunday, January 12, 14
![Page 13: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/13.jpg)
RUBY.travis.yml
Super simple!
Sunday, January 12, 14
![Page 14: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/14.jpg)
COMPLEX BUILD
Sunday, January 12, 14
![Page 15: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/15.jpg)
JAVA.travis.yml
Sunday, January 12, 14
![Page 16: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/16.jpg)
JAVASCRIPTtravis.yml
Sunday, January 12, 14
![Page 17: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/17.jpg)
THE BUILD IS PASSING!badges for your website
Sunday, January 12, 14
![Page 18: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/18.jpg)
DEMOhttps://github.com/joelbyler/roman_numeral.js
travis gem travis login & travis init
notifications travis-lint gem for validation
Sunday, January 12, 14
![Page 19: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/19.jpg)
DEMOhttps://github.com/joelbyler/roman_numeral.js/blob/master/media/Travis-CI.mov?raw=true
Sunday, January 12, 14
![Page 20: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/20.jpg)
Sunday, January 12, 14
![Page 21: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/21.jpg)
Sunday, January 12, 14
![Page 22: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/22.jpg)
PULL REQUESTSKnow that merging a pull request won’t break the build.
Sunday, January 12, 14
![Page 23: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/23.jpg)
THE BUILD IS PASSING!
Sunday, January 12, 14
![Page 24: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/24.jpg)
AUTO DEPLOYMENTWhy start trusting a human now?
Sunday, January 12, 14
![Page 25: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/25.jpg)
CONTINUOUS DEPLOYMENTIn the same vein the practice of continuous delivery further extends CI by making sure the software checked in on the mainline is always in a state that can be deployed to users and makes the actual deployment process very rapid.
~Wikipedia
A natural consequence of this is that you should also have scripts that allow you to deploy into production with similar ease.
~Martin Fowler
Sunday, January 12, 14
![Page 26: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/26.jpg)
DEPLOY YOUR CHANGES TO:
HerokuNodejitsuEngine YardOpenShiftcloudControlRubyGemsPyPINPM
Sunday, January 12, 14
![Page 27: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/27.jpg)
A RUBY EXAMPLE, DEPLOY TO RUBYGEMS.ORG
Sunday, January 12, 14
![Page 28: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/28.jpg)
A NODE EXAMPLE, DEPLOY TO NPMJS.ORG
Sunday, January 12, 14
![Page 29: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/29.jpg)
ADVANCED FEATURES parallelized builds (unit vs int. tests) databases GUI & Headless browser testing
Sunday, January 12, 14
![Page 30: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/30.jpg)
PRIVATE REPOSITORIES Not a sharer?
Sunday, January 12, 14
![Page 31: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/31.jpg)
PRICING
as of 1/9/2014
Sunday, January 12, 14
![Page 32: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/32.jpg)
ALTERNATIVES drone.io (free for open source) werker.com (free beta) circleci.com cisimple.com tddium.com
Sunday, January 12, 14
![Page 33: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/33.jpg)
RESOURCESTravis-CIhttps://travis-ci.org/
Travis-CI Bloghttp://about.travis-ci.org/blog/
Travis-CI Sourcehttps://github.com/travis-ci
Continuous Integration, by Martin Fowlerhttp://www.martinfowler.com/articles/continuousIntegration.html
Sunday, January 12, 14
![Page 34: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/34.jpg)
RESOURCES CONTINUEDCode Coveragehttps://coveralls.io/
Dependencieshttps://gemnasium.com/
Version Badgehttp://badge.fury.io/
Quality Analysishttps://codeclimate.com/
Sunday, January 12, 14
![Page 35: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/35.jpg)
THAT’S A WRAP!
Joel Byler@joelbyler
Sunday, January 12, 14
![Page 36: Show an Open Source Project Some Love and Start Using Travis-CI](https://reader034.vdocuments.net/reader034/viewer/2022051322/54552b2bb1af9fb66e8b4743/html5/thumbnails/36.jpg)
COME FLOAT WITH US!Located on a 10,000 square foot boat on the Cleveland waterfront, our team exemplifies how Agile values & principles are practiced. Come float, deliver, and learn with us, or leverage our expertise to help you change your company culture.
@leandog leandog.com
GDI
Sunday, January 12, 14