We constantly add new tools and features to Codeship. As we try out a lot of stuff and find out what works well for us and what not we thought we’d let you know our findings. From now on we’ll keep you updated with regular blog posts about all the technology changes. You might find something in our new category “Tech Room” that saves you some time!
Support for more PHP versions
In the past we only supported PHP 5.4, but thanks to PHPENV we now support 5.3, 5.4 and 5.5. For example, if you want to use PHP 5.3 just add phpenv local 5.3 to your setup commands. By default we use 5.4.
Deployment check with Wget and Retry
The Codeship offers deployment integrations for Heroku and EngineYard. One of the most important features for these deployment integrations is to check if the site is up and running after the deployment. Until recently we used
curl, but it broke builds regularly when it took the Heroku app too long to start up. That’s why we use
wget now and retry up to three times when the connection fails. No more false negatives and you can be sure that, if the check fails, the app really is down. You can use the script as well by running check_url YOUR_URL in your script deployments.
Here a more detailed explanation why we switched from curl to wget
Stable Firefox Version
Until yesterday we used the Firefox version provided by the Ubuntu repositories. After the update from Firefox 22 to 23 selenium stopped working though. Instead of installing Firefox through the package manager, we use the tar archives provided by Mozilla now to install Firefox 22. We control the exact version of Firefox running on the Codeship and we’ll give you enough time before updating to a new release. This way we ensure a stable Selenium integration.
New Databases and Tools supported
We are always happy to support new databases, datastores and other tools. Many of you requested CouchDB, Beanstalk and RethinkDB, so they are available for you now!
Couchdb is available on the default port and doesn’t need any credentials. From the CouchDB website:
Beanstalk is available on the default port and doesn’t need any credentials as well
Beanstalk is a simple, fast work queue.
RethinkDB is also available on the default port and doesn’t require any credentials
RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.
We are working hard to offer you the best Continuous Deployment service there is, but we rely on your feedback and support. Please keep the great feedback and encouraging messages coming. We really want to understand what you need, what you like and what you are struggling with. So if you want us to improve something, don’t hesitate to send us a message through Twitter or the support links in our app. You can also leave a comment here of course.