How to setup code climate test coverage for jenkins CI How to setup code climate test coverage for jenkins CI jenkins jenkins

How to setup code climate test coverage for jenkins CI


If your question is how to set an environment variable in Jenkins, you may look e.g. here: How to set environment variables in Jenkins?


I'm using a karma tester and nyc with mocha to create my report.(lcov.info)I crete my report and insert it in build/reports/coverage/XXXXXXXXXX/lcov.info . This path maybe is different for you.

After that I transform the lcov.info in codeclimate.XXXXX.jsonFinally all is merge whit sum-coverage

stage('Code Climate'){            environment {                CC_TEST_REPORTER_ID = credentials('7da93b1f-3602-458c-a07c-fcf36402c499')            }            steps{                sh 'wget https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64  > ./cc-test-reporter'                sh 'chmod 777  cc-test-reporter'                sh './cc-test-reporter --debug before-build'                sh './cc-test-reporter --debug format-coverage build/reports/coverage/server-tests/lcov.info -t lcov -o build/reports/coverage/codeclimate.server.json'                sh './cc-test-reporter --debug format-coverage build/reports/coverage/ng/lcov.info -t lcov -o build/reports/coverage/codeclimate.frontend.json'                 sh './cc-test-reporter --debug format-coverage build/reports/coverage/api-tests/lcov.info -t lcov -o build/reports/coverage/codeclimate.api.json'                sh './cc-test-reporter  sum-coverage build/reports/coverage/codeclimate.*.json -p 3'                 sh './cc-test-reporter upload-coverage -r ${CC_TEST_REPORTER_ID}'                              sh 'rm cc-test-reporter'            }        }

with

environment {                CC_TEST_REPORTER_ID = credentials('7da93b1f-3602-458c-a07c-fcf36402c499')            }

i extract my CC_TEST_REPORTER_ID that I have set in Manage Jenkins > Manage credentials. You can found it in https://codeclimate.com/repos/XXXXXXXXXXXXXXXX/settings/test_reporter where in XXXXXXXXXXXXXXX you need to put your codeclimate project.