diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a9edce0820e7c86039cf6b3404a791e0bce0af16..4df4ed02317e5c10edf948afa90cd6f642e56736 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,6 +16,10 @@ before_script:
   # PHP extensions
   - docker-php-ext-enable mbstring mcrypt mysqli pdo_mysql intl gd zip bz2
 
+  # Install Composer
+  - curl -sS https://getcomposer.org/installer | php
+  - php composer.phar install
+
   # Set up WordPress tests
   - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
 
@@ -28,37 +32,42 @@ PHPunit:PHP5.3:MySQL:
   services:
     - mysql:5.6
   script:
-  - phpcs
-  - phpunit
+    - composer global require "phpunit/phpunit=4.8.*"
+    - phpcs
+    - phpunit
 
 PHPunit:PHP5.6:MySQL:
-  image: tetraweb/php:5.6
+  image: php:5.6-alpine
   services:
     - mysql:5.6
   script:
-  - phpcs
-  - phpunit
+    - composer global require "phpunit/phpunit=4.8.*"
+    - phpcs
+    - phpunit
 
 PHPunit:PHP7.0:MySQL:
-  image: tetraweb/php:7.0
+  image: php:7.0-alpine
   services:
     - mysql:5.6
   script:
-  - phpcs
-  - phpunit
+    - composer global require "phpunit/phpunit=6.1.*"
+    - phpcs
+    - phpunit
 
 PHPunit:PHP7.1:MySQL:
-  image: tetraweb/php:7.1
+  image: php:7.1-alpine
   services:
     - mysql:5.6
   script:
-  - phpcs
-  - phpunit
+    - composer global require "phpunit/phpunit=6.1.*"
+    - phpcs
+    - phpunit
 
 PHPunit:PHP7.2:MySQL:
-  image: tetraweb/php:7.2
+  image: php:7.2-alpine
   services:
     - mysql:5.6
   script:
-  - phpcs
-  - phpunit
+    - composer global require "phpunit/phpunit=6.1.*"
+    - phpcs
+    - phpunit