【问题标题】:How to enforce tslint rules before merging/push/commit git commands如何在合并/推送/提交 git 命令之前强制执行 tslint 规则
【发布时间】:2019-08-29 22:48:45
【问题描述】:

我有一个在 Azure DevOps 中运行的 Web 应用,并希望在合并之前确保代码符合标准;例如“dev/test/master”。我制作了一个 tslint 规则文件,并希望强制执行此规则。以一种方式执行它,只要他们向分支提出拉取请求。当获得批准或在获得批准之前使构建失败。或者更好的是,在开发者的代码符合 tslint 规则之前,不要让开发者提出拉取请求。

是否有任何工具可以集成到 azure 管道中以检查代码并将其与 tslint 规则进行比较,以便在不匹配时使合并或构建失败。

【问题讨论】:

  • 我只在提交之前尝试过 tslint,但在任何 PR 之前都没有。这也适用于你的情况吗?

标签: angular git azure-devops tslint azure-repos


【解决方案1】:

使用husky 预提交钩子。

与 Husky 框架配合使用的 Git Hooks。 git-scm.com/docs/githooks

安装 husky 并在 package.json 中添加以下代码。如果 tslint 规则或构建失败,它将不允许提交代码。

 "scripts": {
    "build": "ng build --prod"
  },
 "husky": {
    "hooks": {
      "pre-commit": "npm run lint && npm run build"
    }
  },

【讨论】:

  • 其实就是这么简单。只需 npm install husky 并将这些行添加到 package.json 即可。谢谢拉胡尔
  • 这里是适用于 Husky 框架的 Git Hooks。 git-scm.com/docs/githooks
猜你喜欢
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2011-10-19
  • 2018-05-28
  • 1970-01-01
  • 2011-10-12
相关资源
最近更新 更多