Speeding up composer on AWS OpsWorks

At EasyBib, we’re heavy users of composer and AWS OpsWorks. Since we recently moved a lot of our applications to a continuous deployment model, the benefits of speeding up the deployment process (~4-5 minutes) became more obvious. Composer install Whenever we run composer install, there are a lot of rount-trips between the server, our satis and Github (or Amazon S3). One of my first ideas was to to get around a continous reinstall by symlinking the vendor directory between releases....

October 8, 2013 · 3 min

Wanderlust

At the last meetup of the Berlin PHP Usergroup, Christoph gave a talk about Vagrant. Good enough of a reason to write down or re-cap some things I’ve learned with or about Vagrant over the last two years. Base boxes There are lots of base boxes available, but don’t be tempted to rely on them (e.g. via config.vm.box_url). Vagrantbox.es doesn’t actually mirror images and that is a huge pain. Available base boxes tend to be outdated....

April 16, 2013 · 7 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

Composer and chef updates

Here are some updates on my chef resource for composer: It started off with a PR where I was asked to include code that would download (and install) a composer.phar if none existed. Not a bad idea in general, but also not something I want to impose on anyone, so I decided to create a new action (or in chef-lingo goal) instead. setup Up until now, my php_composer resource supported :install which runs php composer....

June 3, 2012 · 2 min