From e6abf13f616b6f4276448ffd495519087acf461c 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 | 52 ++++++++++++++++++++++++++++++++++++++++++ docker/Dockerfile-test | 7 ++++++ 2 files changed, 59 insertions(+) create mode 100644 Jenkinsfile create mode 100644 docker/Dockerfile-test diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..fc4819c --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,52 @@ +pipeline { + agent { + node { + label 'mapguesser' + customWorkspace 'workspace/mapguesser' + } + } + + stages { + stage('Checkout') { + steps { + checkout scm + } + } + + 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' + } + } + } + } +} diff --git a/docker/Dockerfile-test b/docker/Dockerfile-test new file mode 100644 index 0000000..facfc59 --- /dev/null +++ b/docker/Dockerfile-test @@ -0,0 +1,7 @@ +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 + +COPY composer.* /composer/ +RUN cd /composer/ && composer install