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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Federico Lozada Mosto
June 17, 2014
Programming
93
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
220
Introduction of Unit Testing
mostofreddy
1
110
PHP 5.4 - Features
mostofreddy
0
88
Other Decks in Programming
See All in Programming
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
5
3.6k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
740
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
dRuby over BLE
makicamel
2
330
Inside Stream API
skrb
1
680
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
20
6.4k
AIエージェントの隔離技術の徹底比較
kawayu
0
470
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
520
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
LLM Plugin for Node-REDの利用方法と開発について
404background
0
170
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Building an army of robots
kneath
306
46k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
The Pragmatic Product Professional
lauravandoore
37
7.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Into the Great Unknown - MozCon
thekraken
41
2.6k
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!