From 0654b6594095f23246f558245deff3553fd7515f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Wed, 22 Dec 2021 01:22:19 +0100 Subject: [PATCH] add Jenkinsfile and Dockerfile-test --- Jenkinsfile | 59 ++++++++++++++++++++++++++++++++++++++++++ docker/Dockerfile-test | 4 +++ 2 files changed, 63 insertions(+) create mode 100644 Jenkinsfile create mode 100644 docker/Dockerfile-test diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..6727f09 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent { + node { + label 'mapguesser' + customWorkspace 'workspace/mapguesser' + } + } + + stages { + stage('Install composer') { + agent { + dockerfile { + filename 'docker/Dockerfile-test' + dir '.' + reuseNode true + } + } + steps { + sh 'composer install' + } + } + + stage('Unit Testing') { + agent { + dockerfile { + filename 'docker/Dockerfile-test' + dir '.' + reuseNode true + } + } + steps { + sh '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 vendor/bin/phpstan analyse -c phpstan.neon --error-format=prettyJson > static_code_analysis_results.json' + } + post { + success { + archiveArtifacts 'static_code_analysis_results.json' + } + } + } + } +} diff --git a/docker/Dockerfile-test b/docker/Dockerfile-test new file mode 100644 index 0000000..6c9cf9a --- /dev/null +++ b/docker/Dockerfile-test @@ -0,0 +1,4 @@ +FROM php:7.4.7-cli-buster + +RUN apt-get update && apt-get install -y unzip +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer