No results found.

Magento CI pipelines without the install step

Small Docker images for testing Magento and Mage-OS in CI, with pre-installed versions that take the install out of every pipeline run.

docker pull samjuk/magento-ci-testing-env:2.4.8-php8.3 Read the docs on GitHub

Base, Magento and Mage-OS images, tagged by application and PHP version on Docker Hub and GHCR.

docker pull samjuk/<name>-ci-testing-env pulled
magento-basebring your own codebase50MB
magentoMagento pre-installed198MB
mage-osMage-OS pre-installed190MB

Pre-baked images skip the Magento install on every pipeline run. Check out your module and run your tests.

50MB base image, compressed
198MB Magento pre-installed, compressed
2.4.2+ Magento releases published as tags

How it works

  1. 1

    Pick the image for what you are testing

    Testing a module: use magento-ci-testing-env or mage-os-ci-testing-env, which have the application installed. Testing a whole project: use magento-base-ci-testing-env, which leaves the install to your composer.json.

    docker pull samjuk/magento-ci-testing-env:2.4.8-php8.3
  2. 2

    Run it as the job container

    Set the image as the container for your CI job and check your module out into extensions/. MySQL, OpenSearch and Redis run as service containers alongside it.

  3. 3

    Require your module and run the tests

    Require the checked-out module into the pre-installed Magento, then run PHPUnit or your own test commands.

    composer require -W --prefer-source vendor/module:@dev
    vendor/bin/phpunit

Common questions

Which PHP version does each image use?

The tag says: 2.4.8-php8.3 is Magento 2.4.8 on PHP 8.3. Base images are tagged by PHP version alone (7.4 to 8.5). The database, search engine and Redis are not in the image; run them as service containers.

Is there a MageOS-specific image?

Yes. MageOS version tags are published alongside standard Magento tags and share the same minimal footprint.

Do I need to install Magento inside the container?

Only with the base image. The Magento and Mage-OS images have the application installed, so you require your module and run your tests.

Is this free to use?

Yes. Every image is published on Docker Hub and the GitHub Container Registry, free to pull. Rolling tags update with each release; pinned tags such as 2.4.8-php8.3-v1.0.0 do not.

Faster pipelines start with the right image.

Pull the image for your Magento version and take the install out of your pipeline.