我正在尝试通过Jenkins文件配置checkmarx,之前checkmarx脚本正在从全局配置的groovy文件中读取。
这是我的jenkinsfile的外观
`stage('Code Scanning') {
parallel {
stage('Static Code Analysis') {
steps {
step([$class: 'CxScanBuilder',
comment: '',
credentialsId: '',
excludeFolders: '.helmignore, build, templates, javadocs, javadoc,
dist, node_modules, WMSRegistryReader.java,
BlowfishEncryptionStrategy.java, BlowfishUtils.java',
excludeOpenSourceFolders: '',
exclusionsSetting: 'global',
failBuildOnNewResults: false,
failBuildOnNewSeverity: 'MEDIUM',
filterPattern: '''!**/_cvs/**/*, !Checkmarx/Reports/*.*''',
fullScanCycle: 10,
groupId: '0de2e46c-8410-478a-85b9-b5dce83f8ecb',
includeOpenSourceFolders: '',
osaArchiveIncludePatterns: '*.zip, *.war, *.ear, *.tgz',
osaInstallBeforeScan: false,
password: '{}',
preset: '36',
projectName: "${APP_NAME}",
sastEnabled: true,
serverUrl: 'https://checkmarx.abc.com',
sourceEncoding: '1',
username: '',
vulnerabilityThresholdResult: 'FAILURE',
waitForResultsEnabled: true])
}
}
stage('Open Source Compliance') {
steps {
blackduck([appName: "${APP_NAME}", appDomain: "${APP_DOMAIN}", branchName:
"master"])
}
}
}
}
`
但是Build正在考虑通过jenkins->配置设置而不是服务jenkinsfile
我的jenkinsfile
中是否有语法问题,或者我在这里是否缺少任何内容。
答案 0 :(得分:0)
找不到文档,但我已经设置了
exclusionsSetting: '',
代替
exclusionsSetting: 'global',
为了覆盖Checkmarx的全局设置
答案 1 :(得分:0)
我选择自由风格,而不是去詹金斯从事管道工作。 即使没有checkmarx插件,这也是我的配置方式。
首先使用以下命令生成令牌 runCxConsole.cmd GenerateToken -v -CxUser用户名-CxPassword管理-CxServer http:// localhost
在Build-> Execute Shell中的代码行下面进行加密
Jenkins Script
#!/bin/bash
export JAVA_HOME=/usr/bin/java
export CHECKMARX_HOME=/<checkmarx plugin path>/CxConsolePlugin-8.90.2
echo ${WORKSPACE}
echo $CX_PROJECT_NAME
mkdir ${WORKSPACE}/cxReports
export CHECKMARX_REPORTS_HOME=${WORKSPACE}/cxReports
echo $CHECKMARX_REPORTS_HOME
$CHECKMARX_HOME/runCxConsole.sh Scan -v -CxServer <checkmarx server details> -ProjectName "<project anme>" -cxToken <token> -locationtype folder -locationpath "${WORKSPACE}" -preset "Default Checkamrx" -reportcsv $CHECKMARX_REPORTS_HOME/$CX_PROJECT_NAME.csv -ReportPDF $CHECKMARX_REPORTS_HOME/$CX_PROJECT_NAME.pdf
注意:始终使用令牌与服务器进行身份验证,而不是在CLI命令中对用户名和密码进行硬编码。
有关更多信息,您可以访问https://checkmarx.atlassian.net/wiki/spaces/SD/pages/222232891/Authentication+Login+to+the+CLI