如何将Eslint与jenkins整合?

时间:2015-08-17 05:18:08

标签: eslint

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

等待您的好评。

谢谢, Siva ramanjaneyulu vegi

2 个答案:

答案 0 :(得分:50)

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

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

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

  1. 在Jenkins作业的配置屏幕中,添加“执行Shell”的构建步骤
  2. 将以下命令添加到其中:eslint -c config.eslintrc -f checkstyle apps/**/* > eslint.xml(将apps/**/*替换为应用文件的路径)
  3. 添加“发布Checkstyle分析结果”的后期构建操作,并输入导出“eslint.xml”文件的路径。 (假设您已在Jenkins中安装了Checkstyle插件)
  4. 然后,当您执行作业时,您将能够看到针对其执行的文件的ESLint报告。

    了解我的所作所为:

    eslint -c config.eslintrc -f checkstyle apps/**/* > eslint.xml

    • -c config.eslintrc这一点进入.eslintrc配置文件,并使用我们在那里指定的任何内容。 (请参阅上面提供的ESLint链接)
    • -f checkstyle这将指定eslint报告应使用的格式,请参阅此link
    • 中的可用格式
    • apps/**/*这是您希望eslint检查的文件的路径(** / *是任何文件和文件夹的模式)
    • > filename这是导出cli arg,每次运行构建时都会存储结果

    enter image description here

    enter image description here

    enter image description here

    更新:

    使用最新版本的ESLint,您可以使用以下命令行参数将输出导出到您想要的任何文件中:

    -o your_file.file_format

    请参阅他们的documentation

    注:

    如果对eslint的调用有错误,该命令将返回值1,并且构建将标记为 failed ,这不一定是必需的。为避免这种情况,请附加以下内容:|| true

答案 1 :(得分:1)

对于 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 上的插件 documentation

<块引用>
  • recordIssues 逐步扫描给定文件集(或控制台日志)中的问题,并在您的构建中报告这些问题。