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.json
Finally 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.