作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想运行 npm 命令 npm audit作为 ci 构建的一部分,并以某种方式在 jenkins ci 构建中显示输出。
如果发现严重漏洞,我想通过返回非零退出代码来使当前构建失败。
最佳答案
灵感来自 this post ,我已经通过创建一个自定义的“编译器警告解析器”来实现这一点;
[\w+-]+\s+([\w+-]+)\s+([\w\.-@]+)\s+(>=\s)*([\w\.-@]+)\s+(.+?(?=http))([\w\.-@]+)\s+(.*)
映射脚本 :import hudson.plugins.warnings.parser.Warning
import hudson.plugins.analysis.util.model.Priority
priority = Priority.HIGH;
if ( "low" == matcher.group(2) ) {
priority = Priority.LOW;
}
else if ( "moderate" == matcher.group(2) ) {
priority = Priority.NORMAL;
}
String msg = "Vulnerability found in '" + matcher.group(1) + "' (" + matcher.group(6) + ") , prio: " + matcher.group(2) + " Fix: " + matcher.group(5) + " info: " + matcher.group(5);
return new Warning('package.json', 0, 'NSP Warning', matcher.group(1), msg, priority);
npm install
# parseable report for 'compile warning post build step'
npm audit --parseable >> npm_audit_report_parseable.txt || true # suppress npm audit error code
--scan /non/existing/dir
避免在已安装的包相关文件(如“演示”、“文档”等)中发现漏洞,因为“依赖性检查插件”执行我们不需要的完整递归文件扫描,因为 npm 扫描器已经找到了“npm 审计”结果. 关于jenkins - 如何在 jenkins 中显示 npm 审计的结果并使构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58344538/
我是一名优秀的程序员,十分优秀!