我已经成功地为托管在 Github项目上的 C++ 设置了 TravisCI,它运行良好。
我想继续使用Coverity Scan对我的 C++ 代码进行静态分析。
可以使用 TravisCI 自动上传到 Scan Coverity,但我找不到让它工作的方法。
我的 git 仓库很简单,有两个分支:master
和coverity_scan
.
为了避免每次推送某些内容时触发静态分析,所有与 Scan Coverity 相关的内容都填写在coverity_scan
分支中:
language: cpp
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: "UEHXnbNPk49F6Ta/+d+UZl74EhtIevExwCo1l6qBndw+LvIXQDNSfsFiIJsZVfSgacBEOtd7CSY6rtccDpGeS9oX5/G/pnCz/2Cu+NOCCWlpy/S3qcUtdz52nMVatTgRhEi14WfrghpHk7nxxSi1W5+VIBfew+In11V1Xln3W06hhGOOK17Ljik18LbjSY1K9yVwK60r3tzwzSBMm/MArsqCeigzw15c0THQUtLlaLg/5nfP31f1QV9W1WlF4zIHjzd0970M385vNDDPyG+qRCfMPDEJrWb9/hJVi5x2poHLDObSE25rSQqfzc5nfiSDbH888mkdbBZXSwMVveVEhufyEk0nxI0Tddh/WNYFs+7g1gyV9409Tj288Omx++zpb0jM7/++wgkRwvBnqfBN7GWxoZJ9rHTxauJ+IIOR1jvskCTFMFMLI3C1+IpT4SgV0i6v2PtRsdGbXgI9qywhmPEjC+lS6Nu/rZQItr27rZowvw1ITYwJrDX4YQOAZxJkYNLFdGfqEMSjx0nfq6Kpl/4PaHQ7X0OtnJNgssMk3LNcYEwV1tLhTt+qODONjB7yWilcsWo8yVurr4vnFS2nIV7N4XgBvJcZHWfovxiQhfJU2UQxDvCYlDJ0RpM8kxpze+LR2vh+BbYOgPcr7YKG9MoAbsQXDGiF7yTz1VjVQr4="
addons:
coverity_scan:
project:
name: LeFlou/Citadel
build_command_prepend: "cmake"
build_command: "make"
branch_pattern: coverity_scan
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-4.8
- g++-4.8
- clang
compiler:
- gcc
- clang
before_script:
- cmake .
script:
- make
install:
# Use g++4.8 and not 4.6 (C++11 missing)
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
branches:
only:
- coverity_scan
我只想在推送到时触发静态分析coverity_scan
,而不是在 TravisCI 上构建。
但是,持续集成必须在master
分支上工作。
目前,代码只是构建但从未上传到Coverity Scan
.
我的配置有什么问题?
编辑:
我注意到TravisCI 验证器中的多个插件生成错误,只处理最后一个条目。另一方面,coverity_scan
似乎构建起来没有问题(我需要安装更新版本的 g++,这与 C++11 特性有关)。
编辑 20150910:
我合并了这两个addons
部分,这很有效。
但我仍然坚持“提交的第一个构建”步骤。
我还更改了 COVERITY_SCAN_TOKEN,仍然没有Coverity Scan
通过这些更改将构建提交到 TravisCI 构建