• BiaoDoo首页
  • 自主产品
       自主产品
       测试工具
       源码安全/质量测试云平台
       测试用例开发工具
       软件测试态势分析平台
       开源软件安全审计系统
       软件造价
       软件造价概算平台
       运维产品
       应用源码监测系统
       教学实训平台
       软件测试实验室平台
  • Micro Focus产品代理
       Micro Focus产品代理
       Fortify SCA
       Webinspect
       LoadRunner
       ALM/QualityCenter
       MF UFT
       MF Mobile Center
       Diagnostics
  • 其它产品
       其它产品
       AppScan(IBM)
       Klockwork Insight
       Coverity静态分析
       Black Duck--黑鸭软件成分分析
  • 安全产品
       安全产品
       U盾
  • 工程咨询
       工程咨询
       IT规划咨询
       软件造价概算
       软件架构评估
       信息工程监理
       测试体系咨询
  • 软件测试
       软件测试
       工程验收测试
       压力测试与优化
       产品认证测试
       专题测试
       医疗设备软件测试
       摇号软件测试
       科研项目验收
       软件故障诊断
       委托客制测试
       软件登记测试
       科技成果鉴定
       国产软件适配测试
  • 安全测试
       安全测试
       软件安全测试
       源码安全测试
       等级保护测评
       渗透测试
       风险评估
  • 企业服务
       企业服务
       系统保障与救援
       大数据服务
       ICP证书办理
       软件著作权
       首版次申报
  • 教育培训
       教育培训
       ISTQB认证
       软件产品检验员
       软件就业培训
       校企合作
       信息安全培训
  • 认证中心
       认证中心
       软件企业认证
       质量安全体系认证
       高新技术企业认证
       企业能力认证
       节能与绿色评价服务
       其它系统认证
  • 资讯中心
       资讯中心
       最新资讯
       政策法规
       技术方案
  • 开源测试 · 青云渡
       开源测试 · 青云渡
       技术文摘
       BiaoDoo开源
       常用工具
  • 全国网络
       全国网络
  • BiaoDoo
       BiaoDoo
       软件管控领导者
       合作伙伴
       FAQ
       加入我们
       招聘信息
       合作加盟
       联系我们
  • 测试外包
       测试外包
       离岸测试外包
       测试人才外协
  • 通过CLI整合Jenkins 和fortify

    扫码分享给我的朋友


    Fortify 安裝及組態

    Jenkins 要和fortify整合有許多方式,不過我們想單純掃描並產生客製的報表,再加上也有計畫轉到Gitlab CI,所以就不嘗試cloud版的Fortify或是將掃描結果FPR上傳的Fortify 360,先維持以CLI為主的方式。所以,以下的plugin都沒安裝:

     

    確認Fortify執行檔路徑

    (1)CI Server或是Slave Server有獨立安裝好fortify SCA,應該可以在program files目錄下找到sourceanalyzer.exe及ReportGenerator.bat執行檔

     

    確認Visual Studio執行檔路徑

    (2)另外,我們也將透過Visual Studio translate .NET程式碼,所以也一起確認執行檔位置。

    確認好fortify及Visual 執行檔之後,我們就可以Config CI Job,執行源碼檢測。

     


    Config CI Job

    新增CI JOB時,在建置階段使用MSBuild先建置

     

    建置後就可以開始掃描了,我們把源碼檢測分成3個步驟,

    • 1.首先是透過Visual Studio translate,然後執行掃描,產生.FPR報表檔案。

    • 2.讀取.FPR報表檔產生成pdf報表。

    • 3.透過email寄出pdf報表檔。

     

    (1).首先是透過Visual Studio translate,然後執行掃描,產生.FPR報表檔案

    在建置步驟上新增 執行Windows批次指令。

    在第一個執行windows批次指令區塊輸入以下指令:

    REM ###########################################################################
    set SCA="E:\Program Files\HPE_Security\Fortify_SCA_and_Apps_17.20\bin\sourceanalyzer.exe"
    set RPT="E:\Program Files\HPE_Security\Fortify_SCA_and_Apps_17.20\bin\ReportGenerator.bat"
    set FPR="E:\Program Files (x86)\Jenkins\workspace\Log\FortifyLog.fpr"
    set DEV="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe"
    set SLN="E:\Program Files (x86)\Jenkins\workspace\Log\Log.sln"
    echo Build %time%
    %SCA% -b Log %DEV% %SLN% /REBUILD debug
    echo ScanStart %time%
    %SCA% -b Log -scan -mt -f %FPR%
    echo ScanFinished %time%

     

    (2)讀取.FPR報表檔產生成pdf報表。

    在建置步驟上再新增 執行第二個Windows批次指令。

    也可以用Audit Workbench手動產生報表,不過上面我們先以批次檔將fortify結果檔依照報表範本產生:

    1.報表範本DeveloperWorkbook.xml

    2.設定產生pdf格式的報表(舊版報表的方式)

    3.設定filerSet = Security Auditor View(Quick view看不出太多問題)

    輸入以下指令

    REM ###########################################################################
    set RPT="E:\Program Files\HPE_Security\Fortify_SCA_and_Apps_17.20\bin\ReportGenerator.bat"
    set FPR="E:\Program Files (x86)\Jenkins\workspace\Log\FortifyLog.fpr"
    set PDF="E:\Program Files (x86)\Jenkins\workspace\Log\FortifyLog.pdf"
    REM ###########################################################################
    echo Report Generate Starting!! %time%
    %RPT% -template DeveloperWorkbook.xml -format pdf -f %PDF% -source %FPR% -filterSet "Security Auditor View"
    echo Report Generate Finished!! %time%

     

    (3)透過email寄出pdf報表檔。

    新增一個建置後動作 > 可編式電子郵件通知

     

    附件上輸入*.pdf,然後選擇附上建置紀錄,最後按下儲存按鈕。

     

    按一下右下角的Advanced Settings,按下Add Trigger選項,選Always。

     

    分別寄送給Developers及Recipient List

     

    馬上建置!

     

    然後,Jenkins幫我們執行掃描後,因為Log專案比較小,過大約1分鐘,我們就能收到檢測報告了。

     

    依照舊版template產出掃描結果,也可以設圓餅圖、長條圖等。

     


    小結

    • 也可以多個專案先產生.FPR報表檔,透過fprutility 工具作完Merge後再產生單一的報表檔。

    • 如果想改報表範本,可以到安裝目錄下的C:\Program Files\HPE_Security\Fortify_SCA_and_Apps_17.20\Core\config\reports\ 複製DeveloperWorkbook.xml出來修改。

    • 如果在進行掃描時有遇到Unable to load build session with ID,可以試試先用Visual Studio plugin先編譯及掃描1次。

    • 掃描很吃cpu,建議安排在Jenkins slave server執行。

     


    參考

    HPE SCA Guide

    https://www.microfocus.com/documentation/fortify-static-code-analyzer-and-tools/1720/HPE_SCA_Guide_17.20.pdf

     

    HP Fortify Static Code Analyzer Utilities

    https://community.softwaregrp.com/dcvta86296/attachments/dcvta86296/fortify-v40/38/1/HP_Fortify_SCA_Utilities_User_Guide_4.00.pdf



    现在咨询标度

    您可能感兴趣的其他产品