CI/CD 与 ESLint: 如何让 eslint 检验工程提交代码?

阅读时长 6 分钟读完

前言:随着前端项目规模的不断扩大,代码风格的一致性和质量已成为每个开发者都必须关注的问题。在前端的 CI/CD 流程中,ESLint 可以帮助我们进行代码风格的检查,保证了工程的代码质量和可维护性。本文将介绍如何在 CI/CD 流程中使用 ESLint 检查工程提交代码的步骤和实践。

什么是 CI/CD?

CI/CD(Continuous Integration/Continuous Deployment 或 Continuous Delivery)是一种软件开发实践,通过自动化地构建、测试和发布软件来帮助我们快速交付高质量的应用程序。在 CI/CD 流程中,所有的代码更改都经过自动化测试,这样可以尽早地发现和修复存在的问题。

什么是 ESLint?

ESLint 是一个可扩展的 JavaScript 代码检查工具,用于检查 JavaScript 代码中的语法和代码风格问题。ESLint 可以自定义规则,以便根据您的项目需求进行定制。在 ESLint 分析代码时,它将标记可能存在问题的语句并给出指导意见。

如何让 eslint 检验工程提交代码?

在工程开发过程中,我们需要保持代码风格的一致性和质量,ESLint 就是帮助我们进行这一方面工作的好工具。但是,在实际开发中,如何配置和使用 ESLint 作为 CI/CD 流程的一部分呢?下面是实现步骤:

步骤一:将 ESLint 添加到工程依赖中

使用 npm 或 yarn 将 ESLint 添加到开发依赖中:

步骤二:添加 ESLint 配置文件

在工程根目录下添加 .eslintrc.json 文件,该文件将包含我们用于配置 ESLint 的规则。下面是一个简单的 .eslintrc.json 文件的示例:

-- -------------------- ---- -------
-
  ---------- ---------------------- ---------------------------
  ---------------- -
    -------------- -----
    ------------- --------
  --
  -------- -
    ------------- --------
    ------- --------
    --------- --------- ---------
  -
-

这个配置文件将会检查出以下问题:

  • 禁止使用 console (no-console)
  • 强制使用分号 (semi)
  • 强制使用单引号 (quotes)

步骤三:配置 CI/CD 流程

现在我们已经配置了 ESLint,下一步是让它在 CI/CD 流程中自动运行并检验提交的代码。在这个例子中,我们将使用 GitHub Actions,但因为每个 CI/CD 系统都不同,所以你需要自己实现对应的配置。

在 GitHub Actions 配置文件 .github/workflows/eslint.yml 中添加以下示例代码:

-- -------------------- ---- -------
----- ------

---
  -----
    ---------
      - ----

-----
  -------
    -------- -------------
    ------
      - ----- -------------------
      - ----- ------- ------------
        ---- --- --
      - ----- ---- ---- ------
        ---- --- ------ -

这个配置文件将会检查出以下问题:

  • 仅在 main 分支上运行 (on)
  • 在 Ubuntu 上运行 (runs-on)
  • 检查出 git 仓库里的修改 (actions/checkout)
  • 安装依赖 (npm ci)
  • 运行 ESLint (npx eslint)

现在,每当我们向 main 分支提交代码时,GitHub Actions 将自动运行 ESLint 并检查代码。

步骤四:查看报告

通过配置 CI/CD 流程,你可以使 ESLint 在提交代码时自动检测问题,但这并不意味着问题已经得到解决。我们还需要在工作流程的合适位置查看生成的 ESLint 报告信息。

我们可以把 ESLint 报告信息包含在工作流程的输出中,示例如下:

-- -------------------- ---- -------
----- ------

---
  -----
    ---------
      - ----

-----
  -------
    -------- -------------
    ------
      - ----- -------------------
      - ----- ------- ------------
        ---- --- --
      - ----- ---- ---- ------
        ---- --- ------ - ------------- - -----------
      - ----- ------ -- -------
        ---- --- -----------

在这个配置文件中,我们通过下面的语句把 ESLint 报告信息输出到 report.json 文件中:

然后使用下面的语句打印内容到控制台:

步骤五:让团队使用 ESLint

让 CI/CD 流程中的 ESLint 检查在提交代码时通过,是一项良好的项目优化,但这并不意味着我们应该在每次提交代码之前都手动运行它。 每个团队成员都应该在本地将 ESLint 配置好,然后在自己的工作流程中进行代码检查。

首先,团队成员需要在本地安装 ESLint(参考步骤一)。然后,他们需要在工程根目录下添加 .eslintrc.json 文件,并将文件中的规则定制为更适合此工程的样式。

然后,他们可以通过以下命令运行 ESLint,并按照随后给出的指导进行问题修复和代码改进:

总结

使用 ESLint 可以帮助团队遵循一致的代码风格,保持代码质量和可维护性。通过配置 CI/CD 流程,我们可以让 ESLint 在代码提交时自动运行并检验代码,帮助我们更好的控制代码质量。本文介绍了通过 GitHub Actions 实现 CI/CD 并使用 ESLint 进行代码检查的步骤和实践,供读者参考。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fc1bc7f6b2d6eab32089f0

纠错
反馈