22
TRAVIS CI & PHP Build stuff.

Travis CI & PHP

Embed Size (px)

Citation preview

Page 1: Travis CI & PHP

TRAVIS CI & PHP

Build stuff.

Page 2: Travis CI & PHP

AGENDA

IntroContinuous Integration OverviewTravis CI OverviewDemo

Page 3: Travis CI & PHP

FORK THIS!https://github.com/hrphp/travis-ci-example

Page 4: Travis CI & PHP

ME

Guillermo A. Fisherhttp(s)://<everywhere>/guillermoandraehttp://guillermoandraefisher.com

Page 5: Travis CI & PHP

DO YOU...

...work on OSS?

...build/package software?

Page 6: Travis CI & PHP
Page 7: Travis CI & PHP
Page 8: Travis CI & PHP

Continuous Integration

“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.”

Martin Fowler

Page 9: Travis CI & PHP

CI DEFINED“Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.”

ThoughtWorks

Page 10: Travis CI & PHP

IMPLEMENTING CI

Unit TestsCode StyleArtifactsReporting

Page 11: Travis CI & PHP

CI SOFTWARE

JenkinsBambooTeamCitycrontab

Page 12: Travis CI & PHP

TRAVIS CI

Travis CI is a hosted continuous integration service.

Page 13: Travis CI & PHP

LANGUAGES

Android, C/C++, Clojure, Erlang, Go, Groovy, Haskell, Java, JavaScript (w/ Node.js), Objective-C, Perl, PHP, Python, Ruby, Rust, Scala

Page 14: Travis CI & PHP

SERVICES

MySQL, PostgreSQL, MongoDB, CouchDB, Redis, Riak, RabbitMQ, Memcached, Cassandra, Neo4J, ElasticSearch, Kestrel, SQLite3

Page 15: Travis CI & PHP

NOTIFICATION

Email, IRC, Campfire, Flowdock, HipChat, Sqwiggle, Slack, Webhook

Page 16: Travis CI & PHP
Page 17: Travis CI & PHP

GET STARTED

Sign in to http://travis-ci.orgActivate GitHub WebhookAdd .travis.yml file to your repository

Page 18: Travis CI & PHP

BUILD ENVIRONMENT

Ubuntu 12.04 LTS Server Edition 64 bit3GB memoryIPv6

Page 19: Travis CI & PHP

BUILD CONFIGURATION

before_install

install

before_script

script

after_success / after_failure

after_script

Page 20: Travis CI & PHP

BUILD ENVIRONMENT

PHP 5.2+, HHVMComposerPHPUnitNode Packaged Modules (npm)

Page 21: Travis CI & PHP

DEMO