You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins集成Checkmarx后如何排除.tsx类型文件扫描

解决Jenkins Checkmarx扫描排除.tsx文件的问题

你之前把.tsx加到excludeFolders参数里没生效,是因为这个参数仅用于排除文件夹,不能直接排除特定后缀的文件。下面是两种正确的实现方式:

方法一:通过Jenkins的exclusionsSetting参数配置

Checkmarx的Jenkins插件提供了exclusionsSetting参数,专门用于设置文件/路径的排除规则,支持通配符语法。你只需要将该参数的值设为*.tsx即可排除所有.tsx文件:

修改后的Stage配置如下:

stage('Static Code Analysis') {
    steps {
        step([$class: 'CxScanBuilder',
                comment: '',
                credentialsId: 'Checkmarx',
                hideDebugLogs: true,
                excludeFolders: '.helmignore, build, templates, javadocs, javadoc, dist, node_modules, .js, .env.development, .git, public, .env.local, .gitignore, ci_job.sh, Jenkinsfile, uat_frontend.yaml',
                excludeOpenSourceFolders: '',
                exclusionsSetting: '*.tsx', // 新增配置:排除所有.tsx文件
                failBuildOnNewResults: false,
                failBuildOnNewSeverity: 'MEDIUM',
                fullScanCycle: 10,
                teamPath: 'CxServer/Cigna/MCHI',
                includeOpenSourceFolders: '',
                osaArchiveIncludePatterns: '*.zip, *.war, *.ear, *.tgz',
                incremental: true,
                osaInstallBeforeScan: false,
                preset: 'Cigna - High and Medium - Web',
                projectName: "${getProjectKey()}-${determineRepoName()}-${getCheckmarxEnvironmentName()}",
                sastEnabled: true,
                serverUrl: 'https://cigna.checkmarx.net/',
                sourceEncoding: '1',
                vulnerabilityThresholdResult: 'FAILURE',
                generatePdfReport: true,
                scaReportFormat: 'PDF' ,
                waitForResultsEnabled: true])
    }
}

如果需要排除多种文件,用分号分隔规则,比如*.tsx;*.d.ts。

方法二:使用Checkmarx配置文件(推荐长期维护)

在代码仓库的根目录创建.cxignore或cx.config.xml文件,在其中添加排除规则:

  • 若用.cxignore,直接写入:
    *.tsx
    
  • 若用cx.config.xml,添加对应的规则节点:
    <CxXML>
        <ExcludeFiles>
            <File>*.tsx</File>
        </ExcludeFiles>
    </CxXML>
    

Jenkins在执行Checkmarx扫描时会自动读取根目录的配置文件,这种方式更适合团队统一维护排除规则。

额外注意事项

  • 确保你的Checkmarx Jenkins插件版本是较新的,旧版本可能对exclusionsSetting参数的支持存在问题;
  • 如果使用配置文件,要保证文件存在于代码仓库的根目录,且Jenkins构建过程能访问到该文件。

内容的提问来源于stack exchange,提问作者amey kambli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:36:20