工作服徽章显示为“未知”
Posted
技术标签:
【中文标题】工作服徽章显示为“未知”【英文标题】:Coveralls badge is displaying as 'unknown' 【发布时间】:2020-08-05 12:01:31 【问题描述】:我已经用 Gradle 开发了一个 springboot 应用程序。我已经集成了 Jenkins,现在我正在尝试将代码覆盖率集成到我的项目中。为此,我将 JaCoCo 工作服与 Jenkins CI 一起使用。
Gradle 插件
plugins
id 'com.github.kt3k.coveralls' version '2.10.1'
jacocoTestReport
reports
xml.enabled = true
html.enabled = true
getClassDirectories().setFrom(classDirectories.files.collect
fileTree(dir: it,
exclude: [
'**/BmsService*',
'**/BmsClientWrapper*'])
)
我的 Jenkins 作业会调用以下 JaCoCo 测试命令。
sh "gradle clean test jacocoTestReport coveralls"
我的 Jenkins 构建成功,数据正在成功发送到 https://coveralls.io。
我的问题是:如果我使用 feature 分支(master 除外) 进行构建,在 coveralls.io 中,徽章没有正确显示,甚至没有也显示“提交者”。顺便说一句,我正在使用 GitHub。
任何帮助将不胜感激!
以下是我的管道作业:
stage('Git checkout')
deleteDir()
checkout(scm)
stage('Build Source code')
container('gradle-docker')
sh 'gradle -version'
sh 'gradle clean'
sh "gradle build"
stage('Code Coverage')
if('master'.equals(env.BRANCH_NAME))
def secrets = [
[$class: 'VaultSecret', path: 'secret/build/credentials', secretValues: [
[$class: 'VaultSecretValue', envVar: 'COVERALLS_REPO_TOKEN', vaultKey: 'coveralls_repo_token']
]]
]
wrap([$class: 'VaultBuildWrapper', vaultSecrets: secrets])
container('gradle-docker')
sh "gradle clean test jacocoTestReport coveralls"
else
println 'Code Coverage is only for the master branch, Skipping for ' + env.BRANCH_NAME
【问题讨论】:
你想实现这样的目标吗? tomasvotruba.com/blog/2017/06/12/… 是的@DavidHlavati,但我正在尝试使用 Jenkins 而不是 Travis。尝试时,只有我遇到了上述问题。 我计划在不久的将来实现它,当我有时间在 php - jenkins 组合上使用它时,所以如果你得到答案,我会检查它,否则如果我先解决了,还没有答案,我会回来告诉你过程的。 【参考方案1】:基于coveralls documentation需要配置CI_BRANCH环境细节。
甚至在coveralls gradle plugin 中也提到了它。
您需要使用git
命令提取此信息并填充所需的变量。
【讨论】:
是的,我尝试添加一些环境变量(例如:CI_NAME、CI_BRANCH、GIT_BRANCH),但没有奏效。顺便说一句,如果我们使用 Travis CI、CircleCI、Jenkins CI 或 Bitrise CI,插件实际上不需要这些变量,它们会被自动检测到。就我而言,我使用的是 Jenkins。 能否在Jenkins日志中打印这些变量,看看是否检测到这些变量? 是的,我在 jenkinsfile 中使用echo sh(returnStdout: true, script: 'env')
做到了这一点,并且变量显示正确。
我已经用我的 Jenkins 文件中的管道作业更新了我的问题。希望有帮助!以上是关于工作服徽章显示为“未知”的主要内容,如果未能解决你的问题,请参考以下文章
Java Android Badge Drawable 在配置更改后无法正常工作