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