最近公司新上项目需要对开源组件的漏洞和许可信息进行扫描,为了提高效率,就摸索Jenkins blackduck 持续集成完成安全扫描过程,分享如下:
理想目标:BlackDuck 与 Jenkins 的集成目标
- git仓库下载代码
- maven自动构建,编译
- 定期自动扫描,以及与其他 Jenkins job 任务依赖执行
1.首先,安装 Black Duck 插件 Synopsys Detect 到 Jenkins
配置 Synopsys Detect 插件
- Jenkins -> Confiruration(系统配置)
- Black Duck URL:公司内部的 BlackDuck 网址,例如:https://XXXX.blackducksoftware.com
- Black Duck credentials:选择 credentials 类型为 Secret text, Secret 填写你用户的 Token
- 配置完成后点击 Test connections to Black Duck,显示 Connection successful 表示配置成功。
- 2.构建后操作选择,Synopsys Detect,如下图,
配置参数详情如下:
--blackduck.url=https://blackduck.swtools.XXXX.com
--blackduck.api.token=公司blackduck官网的访问密钥,一般密钥获取地址:https://blackduck.swtools.XXXX.com/api/current-user/tokens
--blackduck.trust.cert=true
--detect.project.name="工程名"
--detect.project.version.name=版本名
--detect.blackduck.scan.mode=INTELLIGENT
--logging.level.com.synopsys.integration=INFO
--detect.source.path=${WORKSPACE}/workspace/$JOB_NAME
--detect.detector.search.depth=5 扫描深度
--detect.maven.build.command="clean package -Dmaven.test.skip=true" maven命令