<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 18 May 2013 16:06:47 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DPCRadio: Episode #2012-16 - Travis CI - Distributed CI for the Masses]]></title>
      <guid>http://www.phpdeveloper.org/news/18781</guid>
      <link>http://www.phpdeveloper.org/news/18781</link>
      <description><![CDATA[<p>
DPCRadio (recordings of the sessions at this year's Dutch PHP Conference) has posted its latest episode - a recording of <i>Josh Kalderimis</i>' talk <a href="http://blog.ibuildings.com/2012/11/19/dpcradio-travis-ci-distributed-ci-for-the-masses/">Travis CI - Distributed CI for the Masses!</a>.
</p>
<blockquote>
Continuous Integration has typically been a practice only performed by companies who want that piece of mind for their client software, but does it need to be like this? Travis CI is a continuous integration service for the open source community. We make testing OS projects dead simple and fun. But most importantly, we help improve code quality for large projects like Doctrine2 and symfony, to smaller libraries like FOSRest. The vision behind Travis CI is to become for builds what PEAR is for distributing libraries. In this talk Josh, one of the core members of the Travis CI team, will introduce you to the vision behind Travis, the how it is implemented, and why it matters to everyone in the OS community.
</blockquote>
<p>
You can listen to this latest episode either by <a href="http://blog.ibuildings.com/2012/11/19/dpcradio-travis-ci-distributed-ci-for-the-masses/">using the in-page player</a> or by <a href="http://dpcradio.s3.amazonaws.com/2012_016.mp3">downloading the mp3</a>. You can also <a href="https://itunes.apple.com/nl/podcast/dpc-radio/id568825964">subscribe to this podcast</a>.
</p>]]></description>
      <pubDate>Wed, 21 Nov 2012 09:36:12 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthias Noback: Experiences with PHP Open Source Software in a Symfony-Friendly Environment]]></title>
      <guid>http://www.phpdeveloper.org/news/18746</guid>
      <link>http://www.phpdeveloper.org/news/18746</link>
      <description><![CDATA[<p>
<i>Matthias Noback</i> has a new post today sharing some of his <a href="http://php-and-symfony.matthiasnoback.nl/2012/11/experiences-with-php-open-source-software-in-a-symfony-friendly-environment/">experiences working with Open Source software</a>, specifically as it relates to this dealings with a "Symfony-friendly environment".
</p>
<blockquote>
These days, good PHP object-oriented libraries are all around and easily available. To me, it is actually thrilling to be part of this flourishing community, while working with Symfony2 and blogging about the Framework, the Components and their neighbors (like Silex). [...] Still, to me, contributing felt like too big a step to take right now. Until a few weeks ago, when I was looking for something I needed (a PHP client for the Microsoft Translator API) and could not find a decent solution. I decided to <a href="https://github.com/matthiasnoback/microsoft-translator">make it myself</a>, and share it online. 
</blockquote>
<p>
He shares his "checklist" of steps he followed to get the library up and working (less about the library and more about the process):
</p>
<ul>
<li>Write the code
<li>Initialize a Git repository
<li>Add a composer.json file
<lI>Add unit tests
<li>Make it open source and developer friendly
<li>Push your code to GitHub
<li>Register your project at packagist.org
<li>Register the Packagist Service Hook
<li>Versioning
<li>Continuous integration using Travis CI
</ul>
<p>
He also suggests that, at least at the outset, you skip some of your tests that might rely on external data sources/resources (so the build can start as green on Travis) then coming back and refactoring to mock things out correctly. It might look like an intimidating list for a beginner, but it's a great process to follow to have a robust, effective development/deployment process.
</p>]]></description>
      <pubDate>Wed, 14 Nov 2012 11:24:19 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Till Klampaeckel: Continuous Integration: Automated database setup with Doctrine on Travis-CI]]></title>
      <guid>http://www.phpdeveloper.org/news/18357</guid>
      <link>http://www.phpdeveloper.org/news/18357</link>
      <description><![CDATA[<p>
<i>Till Klampaeckel</i> has a new post to his site showing how you can use the external continuous integration system <a href="http://travis-ci.org/">Travis-CI</a> to handle <a href="http://till.klampaeckel.de/blog/archives/192-Continuous-Integration-Automated-database-setup-with-Doctrine-on-Travis-CI.html">automated database testing</a> for your PHP app using Doctrine.
</p>
<blockquote>
Testing is important - most people understand that by now. A lot of people write tests for their open source code already, but in-house testing is still hard. [...] While I prefer to run my database tests against a SQLite in memory database, there are these edge cases, where I work with multiple database or I write a direct query (and by-pass the ORM-magic). In these cases I need to have that database server available in my test environment! The following blog posts explains how to solve these things with Travis-CI. I will walk you through the setup on Travis-CI's business service. But most of this applies to their open source offering as well.
</blockquote>
<p>
He's broken it up into a few different steps - the setup and configuration of the ".travis.yml" file, adding in a "composer.json" file with the needed dependencies and the recommendation of a "phpunit.xml" in your project's root. He shows how to use Doctrine's "SchemaTool" utility to generate his schema off of the comments on his entities (instead of checking in SQL). This setup them gives him access to Doctrine's EntityManager object in his tests and he can go from there. If you're thinking about doing something similar, check Travis' <a href="http://about.travis-ci.org/docs/user/database-setup/">list of supported databases</a> before you do anything, just to be sure.
</p>]]></description>
      <pubDate>Tue, 14 Aug 2012 10:55:57 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: TravisCI Intro and PHP Example]]></title>
      <guid>http://www.phpdeveloper.org/news/17716</guid>
      <link>http://www.phpdeveloper.org/news/17716</link>
      <description><![CDATA[<p>
In <a href="http://css.dzone.com/articles/travisci-examples>this new article</a> on DZone today, <i>Giorgio Sirnoi</i> <a href="http://css.dzone.com/articles/travisci-examples">introduces you to using TravisCI</a> to provide continuous integration services for your project (externally). Continuous integration is a way to provide "quality control" of your code, making it easier to run testing, check syntax and more, small pieces at a time.
</p>
<blockquote>
Travis CI in fact works by tying itself to a particular project on Github, and by triggering a new build every time new commits are available on the chosen branch (master, usually). Your build shows up on the main page along with all the other projects in the newsfeed, so try to maintain it green. :) Travis CI adds this other aspect to Github's social coding.
</blockquote>
<p>
He talks a bit about how it works - builds running on VMs, some with advanced tools like Selenium - and includes an example based off a simple travis.yml file defining a script to run pre-build. He also points out a special caveat about databases - they support things like MySQL, Sqlite, MongoDB and CouchDB, but you'll have to generate them from scratch every time, sample data and all.
</p>]]></description>
      <pubDate>Thu, 22 Mar 2012 12:20:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Henrik Bj&oslash;rnskov's Blog: Travis & Composer sitting in a tree K-I-S-S-I-N-G]]></title>
      <guid>http://www.phpdeveloper.org/news/17148</guid>
      <link>http://www.phpdeveloper.org/news/17148</link>
      <description><![CDATA[<p>
<i>Henrik Bj&oslash;rnskov</i> has a quick new post today showing how to combine two powerful technologies into a simple, configurable autoload system in a Symfony <a href="http://travis-ci.org/">Travis-CI</a> build with <a href="https://github.com/composer/composer">Composer</a>.
</p>
<blockquote>
To integrate your project with travis the only thing necesarry is to have a .travis.yml file and a working PHPUnit test setup like http://github.com/simplethings/SimpleThingsFormExtraBundle. Where the Tests/vendors.php script is executed before the tests are perfomed. But it would be way cooler to just have Composer handle the autoloading and dependencies. 
</blockquote>
<p>
A sample .travis.yml file is included in the post (<a href="https://gist.github.com/1366962">also here</a>) as well as instructions for grabbing dependencies and including the autoload process in your application's bootstrap.
</p>]]></description>
      <pubDate>Fri, 18 Nov 2011 11:03:01 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Lukas Smith's Blog: Travis, CI for OSS]]></title>
      <guid>http://www.phpdeveloper.org/news/17123</guid>
      <link>http://www.phpdeveloper.org/news/17123</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Lukas Smith</i> looks at a recently introduced service, <a href="http://travis-ci.org">Travis CI</a> that helps make continuous integration simple (and without having to set up the software yourself). He <a href="http://pooteeweet.org/blog/0/2046#m2046">talks about his experiences</a> in getting his trial project up and working with their system.
</p>
<blockquote>
Continuous integration is one of these topics that had a slow start, but in recent years has really taken off. The slow start is likely to be attributed to the fact that it was perceived as hard to setup and maintain. But solutions around Jenkins and <a href="http://sismo.sensiolabs.org/">Sismo</a> are making it easier and easier. But thanks to the new <a href="http://travis-ci.org/">Travis CI service</a>, its now essentially so easy that there is no excuse not to use CI for <a href="http://about.travis-ci.org/blog/first_class_php_support_on_travis_ci/">PHP projects</a>, at least if you are hosting your OSS code on github.com. What makes this service so crazy cool is that you can run your tests against multiple PHP versions, multiples databases (heck even RabbitMQ) and against multiple versions of various libraries. 
</blockquote>
<p>
Thanks to the <a href="http://about.travis-ci.org/blog/first_class_php_support_on_travis_ci/">"first class" PHP support</a> they offer, setting up a PHP project is as simple as creating a ".travis.yml" file in your github-based project (including PHP versions to test against, dependency management and "before script" tasks to execute). If you're looking for a CI platform without a lot of the hassle involved in the usual setup, you'd do well to check out <a href="http://travis-ci.org">Travis CI</a>.
</p>
<p>
You can also see another example of a project setup in <a href="http://www.travisswicegood.com//2011/11/11/travis-and-python/">this post</a> from <i>Travis Swicegood</a>.
</p>]]></description>
      <pubDate>Mon, 14 Nov 2011 09:50:55 -0600</pubDate>
    </item>
  </channel>
</rss>
