目前,我在公共GitHub存储库中的PR上构建了TravisCI。
Coveralls的说明要求将其放入.coveralls.yml文件中:
service_name: travis-pro
repo_token: <my_token>
这对我不起作用,因为.coveralls.yml文件是公开的-已签入GitHub。我的TravisCI已集成到我的GitHub存储库中,该存储库连接到分支并在PR上触发。
所以我尝试了这个:
在TravisCI的站点中,我设置了一个环境变量:
将COVERALLS_REPO_TOKEN更改为我的令牌的值。
然后修改我的.travis.yml看起来像这样:
language: scala
scala:
- 2.11.7
notifications:
email:
recipients:
- me@my_email.com
jdk:
- oraclejdk8
script: "sbt clean coverage test"
after_success: "sbt coverageReport coveralls"
script:
- sbt clean coverage test coverageReport &&
sbt coverageAggregate
after_success:
- sbt coveralls
现在,当我在分支上创建PR时,它运行正常-没有错误,并且在Travis控制台中看到覆盖测试已运行并生成文件的输出。但是,当我进入工作服时,什么也没看到-“此仓库没有构建。”
我该如何设置?
编辑:我也尝试只用
service_name: travis-ci
创建一个.coveralls.yml可惜没有骰子。
最佳答案
我该如何设置?
第1步-启用工作服
首先要做的是为您的存储库启用Coveralls。
您可以在他们的网站http://coveralls.io上执行此操作:
转到http://coveralls.io
使用您的GitHub凭据登录
点击“存储库”,然后点击“添加存储库”
如果尚未列出该存储库,则“同步GitHub存储库”
最后,将“启用工作服”开关拨至“开”
第2步-设置Travis-CI以将覆盖率信息推送到Coveralls
您的.travis.yml
文件包含script
和after_success
部分的多个条目。因此,让我们清理一下:
language: scala
scala: 2.11.7
jdk: oraclejdk8
script: "sbt clean coverage test"
after_success: "sbt coveralls"
notifications:
email:
recipients:
- me@my_email.com
现在,当您按下时,将执行脚本部分中的命令。
这是您生成的承保范围数据。
命令成功完成后,将执行after_success节。
这是将覆盖率数据推送到所有工作服的情况。
.coveralls
配置文件.coveralls
文件仅需要用于:公开Travis-CI存储库不需要此配置文件,因为Coveralls可以通过其API获取信息(通过访问令牌交换)
repo_token
(位于Coveralls的回购页面上)仅用于私人回购,并且应保密。如果您发布它,那么任何人都可以为您的存储库提交一些覆盖率数据。归结为:仅在两种情况下需要文件:
为包含覆盖率数据的文件指定自定义位置
或使用Travis-Pro和私有存储库时。然后,您必须配置“ travis-pro”并添加令牌:
service_name: travis-pro
repo_token: ...
关于github - 如何在GitHub中连接Coveralls和Travis?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39501417/