Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Travis-CI - Continuos integration in the cloud ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Federico Lozada Mosto
June 17, 2014
Programming
96
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
130
PHP 5.3 to 5.6
mostofreddy
2
100
Implementando una Arquitectura de Microservicios
mostofreddy
0
230
Introduction of Unit Testing
mostofreddy
1
110
PHP 5.4 - Features
mostofreddy
0
92
Other Decks in Programming
See All in Programming
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
330
Claude Team Plan導入・ガイド
tk3fftk
0
220
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
yield再入門 #phpcon
o0h
PRO
0
700
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
350
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
110
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
7
2.8k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
400
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
890
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
330
The SEO identity crisis: Don't let AI make you average
varn
0
520
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
640
For a Future-Friendly Web
brad_frost
183
10k
Producing Creativity
orderedlist
PRO
348
40k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
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!