diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6cc284fd26a694d33a5fde575e883e46c36505d5..61595c5484c989bc35c55da2ee7738a515b90d3b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,7 @@ variables:
   ACCEPTANCE_ERROR_PATH: ${CI_PROJECT_DIR}/acceptance
 
 stages:
+  - tools
   - tests
   - pre-deploy
   - deploy
@@ -92,6 +93,34 @@ stages:
 before_script:
   - cd ${CI_PROJECT_DIR}
 
+phpmetric metrics:
+  stage: tools
+  image: wpdesknet/phpunit-woocommerce:0-0
+  allow_failure: true
+  when: manual
+  artifacts:
+    when: always
+    expire_in: 1 month
+    name: "metrics"
+    paths:
+      - ${CI_PROJECT_DIR}/phpmetric
+  script:
+    - echo ${WPDESK_CI_VERSION}
+    - composer require phpmetrics/phpmetrics
+    - composer update --no-progress
+    - php ./vendor/bin/phpmetrics --report-html=phpmetric .
+
+churn metrics:
+  stage: tools
+  image: wpdesknet/phpunit-woocommerce:0-0
+  allow_failure: true
+  when: manual
+  script:
+    - echo ${WPDESK_CI_VERSION}
+    - composer require bmitch/churn-php
+    - composer update --no-progress
+    - vendor/bin/churn run classes inc
+
 code style test:
   stage: tests
   image: wpdesknet/phpunit-woocommerce:0-0