如何将 ESLint 与 Jenkins 集成?
问问题
24360 次
2 回答
55
你需要将你的ESLint报告导出到一个 xml 文件中,并使用 jenkins 提供的任何违规/lint 报告插件,如Checkstyle、Warnings或Violations插件。
对于 ESLint,我个人更喜欢在 Jenkins 中使用 Checkstyle 插件。
因此,您可以将 eslint 报告导出到 Jenkins 的方法是执行以下操作:
- 在 Jenkins 作业的配置屏幕中,添加“执行 Shell”的构建步骤
- 将以下命令添加到其中:(
eslint -c config.eslintrc -f checkstyle apps/**/* > eslint.xml
替换apps/**/*
为您的应用程序文件的路径) - 添加“发布 Checkstyle 分析结果”的构建后操作并输入“eslint.xml”文件导出的路径。(这是假设你已经在 Jenkins 中安装了 Checkstyle 插件)
然后,当您执行作业时,您将能够看到 ESLint 报告针对它执行的文件。
了解我所做的:
eslint -c config.eslintrc -f checkstyle apps/**/* > eslint.xml
-c config.eslintrc
这点进入.eslintrc
配置文件并使用我们在那里指定使用的任何内容。(请参阅上面我提供的 ESLint 链接)-f checkstyle
这将指定 eslint 它应该在报告中使用的格式,请参阅此链接中的可用格式apps/**/*
这是您希望 eslint 检查的文件的路径(**/* 是任何文件和文件夹的模式)> filename
这是每次运行构建时将存储结果的导出 cli arg
更新:
使用最新版本的 ESLint,您可以使用以下命令行参数将输出导出到您想要的任何文件中:
-o your_file.file_format
请参考他们的文档
笔记:
在调用 eslint 有错误的情况下,该命令将返回一个值1
,并且构建将被标记为failed,这不一定是想要的。为避免这种情况,请附加以下内容:|| true
于 2015-08-20T17:12:28.010 回答
2
对于 ESLint 和 Jenkins 集成,您可以使用Warnings Next Generation插件。
多分支管道项目的一个示例是:
stage('Install dependencies') {
steps {
echo 'Installing dependencies...'
sh 'rm -rf node_modules package-lock.json && npm install'
}
}
stage('Build') {
steps {
sh 'npm run build'
}
}
stage ('Static Analysis') {
steps {
sh ' ./node_modules/eslint/bin/eslint.js -f checkstyle src > eslint.xml'
}
post {
always {
recordIssues enabledForFailure: true, aggregatingResults: true, tool: checkStyle(pattern: 'eslint.xml')
}
}
}
}
来自github 上的插件文档:
- recordIssues步骤扫描给定文件集(或控制台日志)中的问题,并在您的构建中报告这些问题。
于 2021-02-14T15:11:24.967 回答