目前,我在公共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存储库”

最后,将“启用工作服”开关拨至“开”


github - 如何在GitHub中连接Coveralls和Travis?-LMLPHP

第2步-设置Travis-CI以将覆盖率信息推送到Coveralls

您的.travis.yml文件包含scriptafter_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/

10-10 11:32