diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fefc8b73b30fffd9a1d2aecb13ae6c506c204da5..dea3027df0bf5efbfaf101f77f4bb2d7a7f09947 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -88,21 +88,26 @@ checkstyle_job:
   extends: .settingsxml
   needs: ["install_job"]
   script:
-    - mvn $MAVEN_CLI_OPTS checkstyle:checkstyle
+    - mvn $MAVEN_CLI_OPTS checkstyle:check
 
 pmd_job:
   stage: code-check
   extends: .settingsxml
   needs: ["install_job"]
   script:
-    - mvn $MAVEN_CLI_OPTS pmd:pmd
+    - mvn $MAVEN_CLI_OPTS pmd:check
+  artifacts:
+    expire_in: 1 week
+    when: on_failure
+    paths:
+      - "*/target/pmd.xml"
 
 cpd_job:
   stage: code-check
   extends: .settingsxml
   needs: ["install_job"]
   script:
-    - mvn $MAVEN_CLI_OPTS pmd:cpd
+    - mvn $MAVEN_CLI_OPTS pmd:cpd-check
 
 cobertura_job:
   stage: deploy