如何将Eslint与jenkins整合?

siv*_*ulu 34 eslint

我正在尝试将Eslint与jenkins整合,但我没有在谷歌找到任何链接,你能不能帮助我.

等待您的好评.

谢谢,Siva ramanjaneyulu vegi

Car*_*elo 53

您需要将ESLint报告导出到xml文件中,并使用jenkins提供的任何违规/ lint报告插件,如Checkstyle,WarningsViolations插件.

对于ESLint,我个人更喜欢在Jenkins中使用Checkstyle插件.

因此,您可以将您的eslint报告导出到Jenkins中的方法是执行以下操作:

  1. 从Jenkins作业的配置屏幕中,添加"执行Shell"的构建步骤
  2. 将以下命令添加到其中:( eslint -c config.eslintrc -f checkstyle apps/**/* > eslint.xml替换apps/**/*为app文件的路径)
  3. 添加"发布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,并且构建将被标记为失败,这不一定是想要的.为避免这种情况,请附加以下内容:|| true


小智 6

对于 ESLint 和 Jenkins 集成,您可以使用警告下一代插件。

多分支管道项目的一个示例是:

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')
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

来自 github 上的插件文档

  • recordIssues步骤扫描给定文件集(或控制台日志)中的问题并在构建中报告这些问题。