Magento 2 in-a-box

De testomgeving achter onze pipelines, en die van een groot deel van het ecosysteem

Wat het is

Een volledig geïnstalleerde Magento- of Mage-OS-omgeving in één Docker-image, voor elke combinatie van PHP- en Magento-versie, met en zonder sample data. Eén docker run en je hebt een werkende shop met admin, database en Elasticsearch. Geen installatiescripts, geen wachttijd, geen "werkt op mijn machine".

Waarom we het bouwden

Een betaal- of verzendplugin moet werken op elke Magento-versie die merchants draaien, van de oudste ondersteunde patchrelease tot de nieuwste. Dat wil je bij elke pull request testen, niet één keer per release. Maar Magento installeren duurt lang, en in CI wil je binnen minuten resultaat. Daarom bouwden we magento2-in-a-box: kant-en-klare images die in de pipeline van elke plugin integratietests en end-to-end tests tegen de volledige versiematrix draaien. Sinds de eerste versie in 2019 is elke nieuwe Magento-, Mage-OS- en PHP-release erin opgenomen, meestal binnen een paar dagen na uitkomst. De 2.4.9-images en PHP 8.5 zitten er al in.

Wie het gebruikt

De images zijn open source en worden inmiddels ver buiten onze eigen projecten gebruikt. Mollie draait er de integratie- en end-to-end tests van de Magento-plugin op, net als Magmodules, Briqpay, MultiSafepay en TradeTracker voor hun extensies. Rapidez, de headless Magento-frontend, gebruikt ze voor de eigen testomgeving, en losse open-source-modules zoals magento2-module-custom-fees van Joseph Leedy testen ermee in GitHub Actions.

Dat is precies waarom we het delen: als de tooling waarmee wij plugins stabiel houden ook in de pipelines van andere partijen draait, wordt het hele ecosysteem beter getest.

Wat er in zit

  • Volledige versiematrix: Magento 2.4.x inclusief alle security-patchreleases, PHP 7.3 tot en met 8.5, plus Mage-OS

  • Met of zonder sample data: dezelfde tag met -sample-data erachter

  • Klaar voor CI: één commando in GitHub Actions of GitLab CI, admin-login en 2FA vooraf geregeld

  • Zelf getest: de images worden met Playwright gecontroleerd voordat ze gepubliceerd worden

De images en de volledige versiematrix staan op GitHub.

In het kort

  • Sinds: 2019, doorlopend bijgewerkt bij elke nieuwe Magento-, Mage-OS- en PHP-release

  • Gebruikt door: onder meer Mollie, Magmodules, Briqpay, MultiSafepay, TradeTracker, Rapidez

  • Code: open source op GitHub

Missing anything?
What are you missing? X
Thank you for your feedback!