2016-09-29 149 views
1

我爲我的rails應用程序使用覆蓋率,但是我無法上傳任何構建。覆蓋率掃描錯誤'項目無效'

我試了Coverity Scan Self-Build。它運行沒有任何問題,但是當我上傳我的.tgz文件時,它失敗並顯示以下消息:

請修復以下錯誤。

  • 項目是無效

我用下面的命令:

$ ~/Downloads/cov-analysis-linux64-8.5.0.3/bin/cov-build --dir cov-int --no-command --fs-capture-search ./ 
Coverity Build Capture (64-bit) version 8.5.0.3 on Linux 4.7.4-1-ARCH x86_64 
Internal version numbers: db70178643 p-kent-push-26368.949 


[STATUS] Running filesystem capture search... 
[WARNING] Path '/<PATH_TO_MY_APP>/cov-int' looks like an idir. Skipping filesystem capture on it. 
[STATUS] Emitting 239 source files from filesystem capture 
|0----------25-----------50----------75---------100| 
**************************************************** 
Emitted 3 JavaScript compilation units (100%) successfully 
Emitted 233 Ruby compilation units (100%) successfully 

3 JavaScript compilation units (100%) are ready for analysis 
233 Ruby compilation units (100%) are ready for analysis 
The cov-build utility completed successfully. 
$ tar czvf myproject.tgz cov-int 
cov-int/ 
cov-int/build-id.txt 
cov-int/emit/ 
cov-int/emit/<HOST>/ 
cov-int/emit/<HOST>/emit-db.lock 
cov-int/emit/<HOST>/emit-db 
cov-int/emit/<HOST>/config/ 
cov-int/emit/<HOST>/config/80d7f82624e3b17456da362d1e5400da/ 
cov-int/emit/<HOST>/config/80d7f82624e3b17456da362d1e5400da/coverity_config_created 
cov-int/emit/<HOST>/config/80d7f82624e3b17456da362d1e5400da/coverity_config.xml 
cov-int/emit/<HOST>/config/80d7f82624e3b17456da362d1e5400da/ruby-config-0/ 
cov-int/emit/<HOST>/config/80d7f82624e3b17456da362d1e5400da/ruby-config-0/coverity_config.xml 
cov-int/emit/<HOST>/emit-db.write-lock 
cov-int/emit/version 
cov-int/tmp/ 
cov-int/build-log.txt 
cov-int/BUILD.metrics.xml 
cov-int/build-cwd.txt 
cov-int/build-timings.txt 
$ 

後來我試着上傳文件myproject.tgz

我還試圖用特拉維斯上傳我的第一個構建,但它也失敗,出現以下消息:

Coverity Scan analysis selected for branch coverity_scan. 
Coverity Scan analysis authorized per quota. 
$ curl -s https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | COVERITY_SCAN_PROJECT_NAME="$PROJECT_NAME" COVERITY_SCAN_NOTIFICATION_EMAIL="${COVERITY_SCAN_NOTIFICATION_EMAIL:-<MY_EMAIL>}" COVERITY_SCAN_BUILD_COMMAND="${COVERITY_SCAN_BUILD_COMMAND:---no-command --fs-capture-search ./}" COVERITY_SCAN_BUILD_COMMAND_PREPEND="${COVERITY_SCAN_BUILD_COMMAND_PREPEND:-}" COVERITY_SCAN_BRANCH_PATTERN=${COVERITY_SCAN_BRANCH_PATTERN:-coverity_scan} bash 
Note: COVERITY_SCAN_PROJECT_NAME and COVERITY_SCAN_TOKEN are available on Project Settings page on scan.coverity.com 
Coverity Scan configured to run on branch coverity_scan 
Coverity Scan analysis authorized per quota. 
Downloading Coverity Scan Analysis Tool... 
2016-09-29 20:36:31 URL:https://scan.coverity.com/download/Linux [449455458/449455458] -> "/tmp/cov-analysis-Linux.tgz" [1] 
Extracting Coverity Scan Analysis Tool... 
/tmp/coverity-scan-analysis ~/build/<PROJECT_NAME> 
~/build/<PROJECT_NAME> 
Running Coverity Scan Analysis Tool... 
Coverity Build Capture (64-bit) version 8.5.0.3 on Linux 3.13.0-92-generic x86_64 
Internal version numbers: db70178643 p-kent-push-26368.949 
[STATUS] Running filesystem capture search... 
[WARNING] Path '/home/travis/build/<PROJECT_NAME>/cov-int' looks like an idir. Skipping filesystem capture on it. 
[STATUS] Emitting 238 source files from filesystem capture 
|0----------25-----------50----------75---------100| 
|******/*****/*****/******/*****/*****/*****/******/****/***** 
Emitted 2 JavaScript compilation units (100%) successfully 
Emitted 233 Ruby compilation units (100%) successfully 
2 JavaScript compilation units (100%) are ready for analysis 
233 Ruby compilation units (100%) are ready for analysis 
The cov-build utility completed successfully. 
Extracting SCM data for 235 files... 
|0----------25-----------50----------75---------100| 
*******/************************************|********* 
Please see the log file '/home/travis/build/<PROJECT_NAME>/cov-int/scm_log.txt' for warnings and SCM command issues. 
[WARNING] SCM data appears to be mismatched. 
      File: '/home/travis/build/<PROJECT_NAME>/config/initializers/cookies_serializer.rb' 
Please check the correctness of the SCM data with cov-manage-emit. 
Successfully added SCM data for 235 files 
Tarring Coverity Scan Analysis results... 
Uploading Coverity Scan Analysis results... 
Coverity Scan upload failed: ERROR: Project is invalid. 

它還說項目是無效。由於該版本來自Travis,所以我無法查看日誌。

的引用文件config/initializers/cookies_serializer.rb看起來像這樣:

# Be sure to restart your server when you modify this file. 

Rails.application.config.action_dispatch.cookies_serializer = :json 

第三種可能性是在命令行上傳。下面是日誌:

$ curl --form token=<TOKEN> \ 
    --form email=<MY_EMAIL> \ 
    --form [email protected]/<PATH_TO_MY_APP>/myproject.zip \ 
    --form version="1.0" \ 
    --form description="Initial" \ 
    https://scan.coverity.com/builds?project=<MY_USERNAME>%2F<MY_PROJECT_NAME> 
ERROR: Project is invalid 
$ 

這裏是我的.travis.yml文件的摘錄:

# environment settings 
env: 
    global: 
    - secure: "<SECURE>" 
    matrix: 
    - DB=sqlite 
    - DB=mysql 
    - DB=postgresql 

# commands to run before the install 
before_install: 
    # download certificate 
    - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- 

# 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 --fs-capture-search ./" 
    branch_pattern: coverity_scan 

我也與構建命令選項--fs-capture-search ./app/想這一點,所以只是所有的應用程序文件進行掃描。

有誰知道爲什麼會出現這個錯誤?

提前致謝!

編輯:添加命令行示例

+0

以下是我們在[Crypto ++ Coverity Scan](https://cryptopp.com/wiki/Coverity_Scan)中使用的配方。他們是複製/粘貼食譜。過去,掃描服務提交存在問題,但事實並非如此(謝謝ML)。我提交的最後一個問題是由於'curl'命令(Coverity提供的指令不起作用)。使用Crypto ++提供的cURL命令。 – jww

+0

我試圖通過命令行上傳我的tgz文件,但它也失敗了_Project無效_... – razr

回答

1

我相信在這裏的錯誤消息,抱怨你想提交你的結果在掃描項目配置不正確。從你的其他問題How to setup a Travis Rails project to submit to Coverity Scan?,你有這在travis.yml。你有沒有更新這個指向正確的項目?

# addons 
addons: 
    coverity_scan: 
    project: 
     name: "<PROJECT_NAME>" 
     description: "Build submitted via Travis CI" 
+0

它是完全相同的項目。另外我嘗試手動上傳'.tgz'文件,並且失敗並顯示相同的錯誤消息。所以它不能由'.travis.yml'文件引起。 – razr