我正在为rails应用程序寻找std travis coverity设置。
我当前的.travis.yml文件如下所示:
# environment settings
env:
- DB=sqlite
- DB=mysql
- DB=postgresql
env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "<SECURE>"
# project language
language: ruby
rvm:
- 2.3.1
# branches to build (whitelist)
branches:
only:
- master
- coverity_scan
- testing
# command to run before install
before_install:
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
# arguments for the bundler
bundler_args: --without production development
# addons
addons:
coverity_scan:
project:
name: "<PROJECT_NAME>"
description: "Build submitted via Travis CI"
notification_email: <MY_EMAIL>
build_command_prepend: ""
build_command: "--no-command"
branch_pattern: coverity_scan
# script
script:
- RAILS_ENV=test bundle exec rake db:migrate --trace
- bundle exec rake db:test:prepare
- bundle exec rspec spec/
- bundle exec cucumber
# run before script
before_script:
- mysql -e 'create database my_app_test'
- psql -c 'create database my_app_test' -U postgres
我不确定在build_command
的{{1}}部分放置什么。我已经尝试将其留空,addons.coverity_scan
,--no-command
和bundle install
,但它们都没有效果。例如,bundle install --jobs=3 --retry=3
给了我以下信息:
--no_command
因为我正在使用travis,我无法查看日志文件...
当命令为空时,它会因错误而失败,需要给出一个命令并且它什么都不做。
有人可以帮助我使用某种类型的rails应用程序设置吗?
提前致谢!
答案 0 :(得分:2)
Coverity 8.5支持Ruby。没有日志就很难调试这个。 SCAN工具包可能缺少Ruby的配置,可以通过运行cov-configure --ruby
来修复。
然而,更可能的问题是,Ruby是Coverity认为&#34;非编译的&#34;语言(意思是你通常没有一个可以在使用之前编译它们的构建版本)。所以这意味着您需要通知cov-build
Ruby文件的位置。查看您的travis配置,我希望您需要将其添加到build_command
:--fs-capture-search /path/to/your/ruby/files
答案 1 :(得分:2)
使用Coverity SCAN的说明8.5支持的新语言可在此处找到:https://scan.coverity.com/download?tab=other。我们假设用户在尝试TravisCI集成之前首先阅读这些说明。强烈建议在尝试任何CI之前测试本地集成以确保清除捕获。
答案 2 :(得分:0)
似乎无法分析rails(一般解释的)项目(如果我错了,请纠正我)。我从封面上删除了我的项目。