簡體   English   中英

聲納:檢查node_modules時,TFS“發布質量門結果”任務失敗

[英]Sonar : TFS “Publish Quality Gate Result” task fail when checking node_modules

node_modules是yarn(或npm)存儲依賴項的位置。

我正在使用TFS任務在具有以下標准配置的angular 7項目上執行SonarQube分析:

在此處輸入圖片說明

“發布質量門結果”任務失敗,出現以下錯誤:

2019-02-06T16:15:40.1474327Z ##[debug]findPath: 'C:\Agt2\_work\14'
2019-02-06T16:15:40.1474945Z ##[debug]findOptions.followSpecifiedSymbolicLink: 'true'
2019-02-06T16:15:40.1475394Z ##[debug]findOptions.followSymbolicLinks: 'true'
2019-02-06T16:15:40.1480701Z ##[debug]  C:\Agt2\_work\14 (directory)
[...]
2019-02-06T16:15:41.2684833Z ##[debug]  C:\Agt2\_work\14\s\node_modules\@angular\cli (directory)
2019-02-06T16:15:41.2692225Z ##[debug]  C:\Agt2\_work\14\s\node_modules\@angular\cli\.bin (directory)
2019-02-06T16:15:41.2779828Z ##[debug][SQ] Publish task error: Failed find: ENOENT: no such file or directory, stat 'C:\Agt2\_work\14\s\node_modules\@angular\cli\.bin\ng'
2019-02-06T16:15:41.2781059Z ##[debug]task result: Failed
2019-02-06T16:15:41.2782877Z ##[error]Failed find: ENOENT: no such file or directory, stat 'C:\Agt2\_work\14\s\node_modules\@angular\cli\.bin\ng'

第一個問題 :為什么Sonar在我將其添加到“准備分析”任務中的排除文件中時分析了node_modules:

sonar.exclusions=**/node_modules/**,**/*.spec.ts

第二個問題 :如果我將這些選項添加到“准備分析”任務中的其他屬性中,則似乎忽略了該選項:

findOptions.followSpecifiedSymbolicLink='false'
findOptions.followSymbolicLinks:'false'

結果: 在此處輸入圖片說明

以及如何解決此問題以獲得單元測試結果並將其發布到sonarqube?

編輯 :在Sonar JIRA上創建的票證: https : //community.sonarsource.com/t/vsts-publish-quality-gate-result-with-npm-parses-node-modules-folder-and-hangs-on-symbolic-鏈接/ 7058

編輯2 :聲納團隊回答我說,它與以下bug相似: https : //jira.sonarsource.com/browse/VSTS-172

Finnaly找到了如何通過在構建工作流程中添加新的powershell腳本來修復它的方法。

在此rimraf node_modues腳本中,我執行rimraf node_modues腳本,該腳本將刪除所有node_modules文件。

那不是解決方法,只是暫時的解決方法。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM