Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Travis-CI - Continuos integration in the cloud ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Federico Lozada Mosto
June 17, 2014
Programming
97
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Travis-CI - Continuos integration in the cloud for PHP
Federico Lozada Mosto
June 17, 2014
More Decks by Federico Lozada Mosto
See All by Federico Lozada Mosto
Composer
mostofreddy
0
140
PHP 5.3 to 5.6
mostofreddy
2
100
Implementando una Arquitectura de Microservicios
mostofreddy
0
230
Introduction of Unit Testing
mostofreddy
1
120
PHP 5.4 - Features
mostofreddy
0
92
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
310
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
350
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5k
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
920
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
210
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
200
Java 27新機能 / Java 27 new features
kishida
2
170
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
480
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
470
wkhtmltopdfの次どうするか問題2026
willnet
2
1.7k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
590
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
260
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
430
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
480
GitHub's CSS Performance
jonrohan
1033
470k
Building Applications with DynamoDB
mza
96
7.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Transcript
Travis-CI Continuous integration in the cloud for PHP
Federico Lozada Mosto @mostofreddy @federicolozadamosto
Who makes tests? Who makes builds?
Who uses CI server?
Who uses multiple environments?
Hi, I’m Travis CI, a hosted continuous integration service for
open-source and private projects.
What?
Continous integration Open source Distributed
Android C/C++ Clojure Erlang Go Groovy Haskell Java Javascript NodeJS
Objective-C PERL PHP Phyton Ruby Scala
Services: MySQL PostgreSQL MongoDB CouchDB Redis Riak RabbitMQ Memcached Cassandra
Neo4j Elasticsearch Krestel SQLite3 ZeroMQ
Notifications: Email IRC Campfire Flowdock HipChat Sqwiggle Slack Webhook
Deploy: Appfog Cloud66 Heroku Modulus Nodejitsu OpenShift cloudControl CloudFoundry RubyGems
AWS OpsWorks PyPI Divshot.io Rackspace Cloud Files Npm S3 Ninefold Engine Yard Github Releases Custom deployment
How?
login How does it work?
service hook How does it work?
gi add .travis.yml git commit .travis.yml git push …. How
does it work?
gi add . git commit . git push …. service
hook run tests / builds fresh environments How does it work?
.travis.yml
.travis.yml
.travis.yml
Build lifecycle 1. before_install 2. install 3. before_script 4. script
5. after_script 6. after_success or after_failure
Build status
Why?
The end goal is...
with less effort Higher-quality code and...
#HAPPYDAY
Extras
xdebug xml xmlreader Xmlrpc xmlwriter xsl zip zlib [Zend Modules]
Xdebug bcmath bz2 Core ctype curl date dom ereg exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mcrypt mysql mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_pgsql pdo_sqlite pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets SPL sqlite3 standard sysvsem sysvshm tidy tokenizer VM - PHP
email recipients: -
[email protected]
on_success: [always|never|change] # default: change on_failure:
[always|never|change] # default: always irc: channels: - "chat.freenode.net#my-channel" on_success: [always|never|change] # default: always on_failure: [always|never|change] # default: always notifications
Apc Memcache Memcached Mongo Amqp Zmq Xdebug Redis PHP extensions
before_script - echo "extension = <extension>.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
PHP extensions before_script - pear install <extension> - echo "extension
= <extension>.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - php -m
PHP extensions
http://yaml.travis-ci.org/ Travis lint
apt-get install !!! before_script: - curl http://repo.varnish-cache.org/debian/GPG-key.txt | \ sudo
apt-key add - - echo "deb http://repo.varnish-cache.org/ubuntu/ precise varnish-3.0" | \ sudo tee -a /etc/apt/sources.list - sudo apt-get update -qq - sudo apt-get install varnish
services services: - mongodb - couchdb - memcached env: -
DB=mysql before_script: - mongo mydb_test --eval 'db.addUser("travis", "test");' - if [[ "$DB" == "mysql" ]]; then mysql -e "create database IF NOT EXISTS hello_world_test;" -uroot; fi
How to skip a build [ci skip]
None
Federico Lozada Mosto @mostofreddy @federicolozadamosto Thanks!