我试图使CI使用gradle构建代码。问题是,当构建失败时,它没有上传我的测试报告,这是我以后进行调试所需的。
build:
stage: build
script:
- ./gradlew build --info
artifacts:
paths:
- build/install/<app_name>/*
- build/reports/*
expire_in: 7 days
reports:
junit: build/test-results/test/TEST-*.xml
作为gitlab-ci的默认设置,它仅在构建成功时上载工件。但是我需要始终上传测试报告,并且仅在构建成功时才上传构建文件。我可以使用always和on_success,但不确定在执行一项工作时是否可以分离出这两个工件。
答案 0 :(得分:0)
您可以添加阶段,以在发生故障时收集报告。
在以下示例中,我在when: on_failure
中添加了 build-reports 阶段,该阶段负责收集日志和报告。
stages:
- build
- build-reports
build:
stage: build
allow_failure: false
artifacts:
paths:
- report.txt
- output.txt
expire_in: 1 week
script:
- echo "Reports:" $(date) > report.txt
- echo "Output:" $(date) > output.txt
Build-Reports:
stage: build-reports
when: on_failure
artifacts:
name: Build reports
paths:
- report.txt
expire_in: 1 week
script:
- echo "Build Failed" >> report.txt