将墨菲安全的代码检测能力集成到 Jenkins 中,提高线上代码安全质量
Jenkins 是企业广泛使用的持续集成项目,将代码安全检测能力集成到 Jenkins 中,实现代码打包前即对代码进行安全扫描,降低线上代码因安全问题导致的公司数据泄漏风险,同时也会减少项目发布时的压力。且持续集成中的任何一个环节都是自动完成的,无需太多人工干预,有利于减少重复过程以节省时间和工作量。
- 每次 Jenkins 构建的时候自动检测代码中存在的三方开源组件,并识别漏洞
- 配置规则,识别到严重漏洞就中断构建
- 结果推送到飞书群中,相关工程师都能看到
执行逻辑:代码下拉后,通过墨菲安全 CLI 对代码进行检测,然后使用 Linux 工具
jq
解析检查结果,如检测结果存在强烈建议修复
级别的缺陷组件,则终止构建流程。
- 在 Jenkins 后台找到项目后,配置管理
Advanced Project Options
->Pipeline
->Script Path = Jenkinsfile
,这样 Jenkins CI 执行的时候,pipline 流程就会执行 Jenkinsfile 里的逻辑。
-
配置 Webhooks 以便项目在更新后,能够自动触发 Jenkins(Jenkins 需安装插件 Git、GitLab Plugin)
-
构建触发器勾选
Build when a changs is ...
选项,该 URL 在 GitLab 项目 Webhooks 中会用到
-
调用飞书机器人 Webhook 将构建结果发送到群内。当项目检测未通过时,可以在后台将检测结果导入发送给开发人员做修复参考。