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, 2014
Show an Open Source Project Some Love and Start Using Travis-CI
1. JJ
SHOW AN OPEN SOURCE PROJECT SOME LOVE
AND START USING TRAVIS-CI
Joel Byler
@joelbyler
January 10, 2014
CodeMash 2.0.1.4
Kalihari Resort
Sandusky, OH
Sunday, January 12, 14
2. 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
3. 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
4. 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
5. 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
6. 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
7. TRAVIS-CI
Hosted
Free for open-source projects
Supports MANY Languages
Can run against multiple
runtime versions
MOAR!
Sunday, January 12, 14
8. You don’t have to take my word for it.
WHAT PEOPLE ARE SAYING
Sunday, January 12, 14
9. QUOTES
What 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
10. TRAVIS BUILD LIFE-CYCLE
Any of the following steps will fail build when finishing
with a non-zero exit code
-clone github repository
-cd to new directory
-before_install:
prepare the system
-install:
install prerequisites or dependencies
-before_script:
prepare your build for testing
-script:
specific to project language
==== build will not fail past this step ====
-after_success:
-after_failure:
-after_script:
Sunday, January 12, 14
11. Test all the things!
LANGUAGES
Sunday, January 12, 14
12. WORKS FOR YOUR LANGUAGE
(PROBABLY)
C
JAVASCRIPT (WITH
C++
NODE.JS)
OBJECTIVE-C
PERL
PHP
PYTHON
RUBY
SCALA
CLOJURE
ERLANG
GO
GROOVY
HASKELL
JAVA
Sunday, January 12, 14
25. CONTINUOUS DEPLOYMENT
In 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
26. DEPLOY YOUR CHANGES TO:
Heroku
Nodejitsu
Engine Yard
OpenShift
cloudControl
RubyGems
PyPI
NPM
Sunday, January 12, 14
27. A RUBY EXAMPLE, DEPLOY TO
RUBYGEMS.ORG
Sunday, January 12, 14
36. 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