@@ -3,19 +3,19 @@ layout: post
33title : Travis-CI l'intégration continue sans effort
44author : loicfrering
55tags : [ci, travis, php, nodejs, ruby, clojure, erlang]
6- published : false
6+ published : true
77---
88
99Aujourd'hui je souhaite vous parler d'un projet qui me tient
1010particulièrement à cœur : [ Travis CI] ( http://travis-ci.org/ ) , une
1111plateforme d'intégration continue simple et efficace. C'est un projet
1212auquel je tiens puisque j'y contribue et gère le support de PHP avec
1313l'aide et aux côtés de l'[ équipe de
14- contributeurs] ( https://github.com/travis-ci/ ) que je remercie au passage
15- et qui mettent à disposition de la communauté open source cet outil plus
16- que pratique !
14+ contributeurs] ( https://github.com/travis-ci/ ) .
1715
18- ![ Travis CI] ( images/travis.png )
16+ <p class =" center " >
17+ <img src =" /public/img/2012-01-25-travis-ci/travis.png " border =" 0 " />
18+ </p >
1919
2020Sa devise ? "A distributed build system for the open source community."
2121A l'initiative de la communauté Ruby, Travis est donc une plateforme
@@ -43,8 +43,8 @@ n'affectera pas les autres projets buildés par Travis de la même manière
4343que les autres projets ne viendront pas perturber le votre.
4444
4545De plus chaque build se déroule dans une ** sandbox** : après l'exécution
46- du build, une snapshot propre de la machine virtuelle restaure son état,
47- aucun risque de casser votre environnement.
46+ du build, une snapshot réinitialisée de la machine virtuelle restaure
47+ son état, aucun risque de casser votre environnement.
4848
4949Enfin, l'** infrastructure est distribuée** , tout d'abord le front est totalement
5050découplé des workers puis Travis provisionne pour vous un pool de
@@ -65,8 +65,8 @@ sur plusieurs versions du langage** que vous utilisez. Vous faites du
6565Ruby ? Vous pouvez tester votre projet sur Ruby 1.8.7, Ruby 1.9.3 ou
6666même Ruby HEAD (version de développement courante), JRuby ou Rubinius.
6767Vous faites du nodejs, hop testez vos packages sur nodejs 0.4 ou 0.6.
68- Vous faites du PHP, vous pouvez tester votre projet sur PHP 5.3.8 ,
69- 5.4.0RC4 et même 5.2.17 !
68+ Vous faites du PHP, vous pouvez tester votre projet sur PHP 5.3.9 ,
69+ 5.4.0RC5 et même 5.2.17 !
7070
7171Votre application doit être testée sur plusieurs bases de données
7272différentes ? Travis supporte MySQL, PostGreSQL, SQLite, MongoDB,
@@ -113,10 +113,10 @@ décrivant comment doit se dérouler votre build. La configuration de
113113Travis est très souple et permet la définition des fameuses combinaisons
114114mentionnées un peu plus tôt.
115115
116- Pour la seconde étape il suffit de vous rendre sur travis-ci.org, de
117- vous authentifier automatiquement via l'OAuth de Github et vous pourrez
118- activer l'intégration continue de vos projets, c'est aussi simple que
119- cela !
116+ Pour la seconde étape il suffit de vous rendre sur
117+ [ travis-ci.org ] ( http://travis-ci.org ) , de vous authentifier
118+ automatiquement via l'OAuth de Github et vous pourrez activer
119+ l'intégration continue de vos projets, c'est aussi simple que cela !
120120
121121Pour plus d'informations, référez-vous au [ Getting
122122Started] ( http://about.travis-ci.org/docs/user/getting-started/ ) de la
@@ -148,30 +148,69 @@ détaillées plus haut :
148148* [ Ember.js] ( http://emberjs.com/ ) (successeur de SproutCore 2) pour la
149149 RIA côté client
150150
151+ Son architecture étant découplée, une partie des applications qui
152+ composent Travis sont déployées sur [ Heroku] ( http://www.heroku.com/ ) (le
153+ site web, le hub) alors que les workers, qui exécutent les builds,
154+ tournent sur des machines dédiées fournies généreusement par des
155+ sponsors.
156+
157+ Pour plus de détails sur les rouages de Travis, vous pouvez vous référez
158+ à cette [ technical
159+ overview] ( http://about.travis-ci.org/docs/dev/overview/ ) .
160+
151161## A ce jour
152162
153163A ce jour, Travis lance les builds de plus de 4200 repositories à raison
154164de 2000 builds par jour en moyenne ! L'intégration continue de projets
155165très prestigieux est gérée par Travis, en particulier :
156166
157- * Rails, Sinatra
158- * HAML, SASS, LESS et leurs plugins Rails respectifs
159- * RSpec
160- * Mongoid
161- * NodeJS et npm
162- * Cucumber
163- * Gollum
164- * Bundler
165- * rubygems et rubygems.org
166- * Ruby itself (CRuby, l'implémentation de référence)
167- * Symfony2 et une bonne partie des bundles les plus connus
168- * Doctrine2
169- * Propel
170- * Behat
171- * Le plugin Eclipse pour Twig
172- * Leiningen
173-
174- J'en passe et des meilleurs !
167+ * Dans la communauté Ruby :
168+ * [ Ruby on Rails] ( http://travis-ci.org/#!/rails/rails )
169+ * [ Bundler] ( http://travis-ci.org/#!/carlhuda/bundler )
170+ * [ Sinatra] ( http://travis-ci.org/sinatra/sinatra )
171+ * [ Rack] ( http://travis-ci.org/#!/rack/rack )
172+ * [ RSpec] ( http://travis-ci.org/#!/rspec/rspec-core )
173+ * [ Cucumber] ( http://travis-ci.org/#!/cucumber/cucumber )
174+ * [ HAML] ( http://travis-ci.org/#!/nex3/haml )
175+ * [ SASS] ( http://travis-ci.org/#!/nex3/sass )
176+ * [ RubyGems] ( http://travis-ci.org/#!/rubygems/rubygems )
177+ * [ rubygems.org] ( http://travis-ci.org/#!/rubygems/rubygems.org )
178+ * [ Mongoid] ( http://travis-ci.org/#!/mongoid/mongoid )
179+ * [ Rubinius] ( http://travis-ci.org/#!/rubinius/rubinius )
180+ * [ Factory Girl] ( http://travis-ci.org/#!/thoughtbot/factory_girl )
181+ * [ Spree] ( http://travis-ci.org/#!/spree/spree )
182+ * [ Devise] ( http://travis-ci.org/#!/plataformatec/devise )
183+ * [ amqp gem] ( http://travis-ci.org/#!/ruby-amqp/amqp )
184+ * et même le miroir GitHub de [ CRuby (MRI) itself] ( http://travis-ci.org/#!/ruby/ruby )
185+ * Dans la communauté JavaScript :
186+ * [ Node.js] ( http://travis-ci.org/joyent/node )
187+ * [ NPM] ( http://travis-ci.org/#!/isaacs/npm )
188+ * [ Express] ( http://travis-ci.org/#!/visionmedia/express )
189+ * [ Vows] ( http://travis-ci.org/#!/cloudhead/vows )
190+ * [ Mocha] ( http://travis-ci.org/#!/visionmedia/mocha )
191+ * [ Ember.js] ( http://travis-ci.org/#!/emberjs/ember.js ) (ex. SproutCore 2)
192+ * [ Batman.js] ( http://travis-ci.org/#!/Shopify/batman )
193+ * [ flatiron (certains sous-projets)] ( https://github.com/flatiron )
194+ * Dans la communauté PHP :
195+ * [ Symfony2] ( http://travis-ci.org/#!/symfony/symfony )
196+ * [ Doctrine2] ( http://travis-ci.org/#!/doctrine/doctrine2 )
197+ * [ Composer] ( http://travis-ci.org/#!/composer/composer )
198+ * [ Behat] ( http://travis-ci.org/#!/Behat/Behat )
199+ * et de nombreux bundles Symfony2
200+ * Dans la communauté Clojure :
201+ * [ Leiningen] ( http://travis-ci.org/#!/technomancy/leiningen )
202+ * [ Knockbox] ( http://travis-ci.org/#!/reiddraper/knockbox )
203+ * [ Langohr] ( http://travis-ci.org/#!/michaelklishin/langohr )
204+ * [ Monger] ( http://travis-ci.org/#!/michaelklishin/monger )
205+ * [ Neocons] ( http://travis-ci.org/#!/michaelklishin/neocons )
206+ * [ Sumo] ( http://travis-ci.org/#!/reiddraper/sumo )
207+ * Dans la communauté Erlang :
208+ * [ Cowboy] ( http://travis-ci.org/#!/extend/cowboy )
209+ * [ Elixir] ( http://travis-ci.org/#!/josevalim/elixir )
210+ * On y trouve même quelques plugins Eclipse qui profitent de la
211+ disponibilité de Maven sur la plateforme :
212+ * [ Symfony2 Eclipse Plugin] ( http://travis-ci.org/#!/pulse00/Symfony-2-Eclipse-Plugin )
213+ * [ Twig Eclipse Plugin] ( http://travis-ci.org/#!/pulse00/Twig-Eclipse-Plugin )
175214
176215## Conclusion
177216
@@ -185,3 +224,8 @@ Pour plus d'informations, n'hésitez pas à parcourir la
185224[ documentation] ( http://about.travis-ci.org/docs/ ) , à suivre
186225[ @Travis ] ( https://twitter.com/travisci ) sur Twitter ou à nous rejoindre
187226sur le channel #travis de irc.freenode.net.
227+
228+ Merci à [ Michael Klishin] ( https://twitter.com/michaelklishin ) pour la
229+ relecture approfondie et à tous les [ contributeurs
230+ Travis] ( https://github.com/travis-ci/ ) qui participent à la mise à
231+ disposition de cet outil si pratique !
0 commit comments