pipeline { agent any stages { stage('Unit Testing') { agent { dockerfile { filename 'docker/Dockerfile-test' dir '.' reuseNode true } } steps { sh '/composer/vendor/bin/phpunit --log-junit unit_test_results.xml --testdox tests' } post { success { archiveArtifacts 'unit_test_results.xml' } } } stage('Static Code Analysis') { agent { dockerfile { filename 'docker/Dockerfile-test' dir '.' reuseNode true } } steps { sh 'php -d memory_limit=1G /composer/vendor/bin/phpstan analyse -c phpstan.neon --error-format=prettyJson > static_code_analysis_results.json' } post { success { archiveArtifacts 'static_code_analysis_results.json' } } } } }