Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough

Docker and Travis-CI

Parent Feed: 

If you have ever had to setup Travis-CI, I’m sure you know where the biggest pain point is - debugging the machine.

We have lost so many hours on intermediate commits, waiting for Travis to spin up a new box, run the scripts only to see it fail on the last command. Not to mention how hard it is to debug a webapp on a machine you don’t have direct access to, and there is no browser.

But there’s a new and better way - we can use Docker inside Travis.

What does that mean? In short, it means that setting up Travis, and debugging your test scripts has just become much easier. You can do all the setup, and the debugging from your own local computer!

Behat tests running from within the container

In fact, even our .travis.yml has been reduced to just a few lines - docker build or docker pull an existing image, and then just docker run it, as all the setup and tests are now controlled by your docker scripts:

sudo: false

language: php

services:
  - docker

# Replace with your image name.
before_script:
  - docker pull gizra/drupal-lamp

script:
  - docker run -it -p 8080:80 gizra/drupal-lamp

You want it too?

Why am I even asking? Of course you want it! So I’ve created a base image for all the Drupal devs to use (or fork) and it’s on docker hub (and on GitHub). The base image will give you Drupal, Apache2, MySQL, Git, Composer, Drush, etc.

I also wrapped a Hedley skeleton project and it’s available here.

Next time you need to setup Travis, don’t try to do it the “old” way - just remember it’s easier to debug on your own machine.

Original Post: 

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web