在GitLab项目中创建一个
.gitlab-ci.yml
文件。将以下代码插入
.gitlab-ci.yml
文件中:
image: openjdk:8-jdk
stages:
- build
- test
before_script:
- apt-get update && apt-get install -y ant
build:
stage: build
script:
- ant jar
test:
stage: test
script:
- ant test
artifacts:
reports:
junit: junit.xml
coverage: '/Total coverage\: ([0-9]+\.[0-9]+)/'
jacoco_report:
stage: deploy
image: alpine
script:
- apk add --no-cache openjdk8
- java -jar /jacoco/lib/jacococli.jar report /jacoco/coverage.exec --classfiles /src/test/java/ --html /reports/jacoco
dependencies:
- test
when: always
needs: []
artifacts:
reports:
browse: reports/jacoco/index.html
paths:
- reports/
- 接下来需要在构建前下载Jacoco,并且为测试任务配置Jacoco。在
build:
和test:
阶段添加以下命令:
build:
stage: build
script:
- wget https://repo1.maven.org/maven2/org/jacoco/jacoco/0.8.0/jacoco-0.8.0.zip
- unzip jacoco-0.8.0.zip -d ~/jacoco
- ant jar
test:
stage: test
script:
- wget https://repo1.maven.org/maven2/org/jacoco/jacoco/0.8.0/jacoco-0.8.0.zip
- unzip jacoco-0.8.0.zip -d ~/jacoco
- ant test
- 最后,为了在GitLab CI界面中查看Jacoco测试覆盖率报告,需要修改
.gitlab-ci.yml
文件中的jacoco_report:
阶段。将以下代码插入到该阶段:
jacoco_report:
stage: deploy
image: alpine
script:
- apk add --no-cache openjdk8
- java -jar /jacoco/lib/jacococli.jar report /jacoco/coverage.exec --classfiles /src/test/java/ --html /reports/jacoco
dependencies:
- test
when: always
needs: []
artifacts:
reports:
browse: reports/jacoco/index.html
paths:
- reports/
这样就可以在GitLab CI界面中查看Jacoco测试覆盖率报告了。