Continuous Integration: Automated database setup with Doctrine on Travis-CI

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. For example, many of us had an encounter with Jenkins: it runs well to a point where it becomes harder to maintain the Jenkins than it is to write tests. Another obstacle is test setup and environments: When I write and run tests, there is sometimes only so much I can do to mock and avoid actual calls to my storage backend....

August 13, 2012 · 4 min

Mind blown: svn:ignore

As we migrate away from Subversion, I ran into this little issue today. Since it’s something which popped up time and time again and I never got around to figuring out why this happened in the first place, I decided to put it into a blog post. Problem? What I did was, I setup an svn:ignore in the root of my Subversion repository, in order to ignore modules which are installed in the app/modules structure:...

August 9, 2012 · 1 min

Too much abstraction: Doctrine and PHP

Personally — I feel like I’m really, really late to get on the Doctrine train. I’ve tried Doctrine 1 a few years back and found it mostly too complicated for my needs. For all I know, I still find PEAR::DB and PEAR::MDB2 the perfect database abstraction layers (DBAL). Though of course they may or may not be totally up to date in terms of PHP etc.. The overall concept of an ORM never stuck with me....

July 6, 2012 · 5 min

Vagrant: ShellProvisioner vs. Chef

In my last blog entry, I demo’d how to get started with Vagrant and the ShellProvisioner. To further illustrate how amazingly simple it is to get started on some Ruby, I’ll convert the shell script from my last blog post to a little recipe for chef. Same objective, we install a PEAR package — but it could be anything really. Follow me. Shell This is the shell script from before:...

June 20, 2012 · 2 min

Vagrant sans Ruby

Development, testing, staging and production — this is how most people devide up different environments for application development. Maintenance and setup of these environments is often not a trivial goal to achieve. Having worked with a couple different code bases and setups over the last decade, I often noticed things like environment specific hacks (if ($env == 'testing') { ... }) in application code and service configurations and a lot of manual labour all around....

June 5, 2012 · 4 min