问题描述
我看到我可以对管道使用pre-commit,是否存在一种方法来设置yaml文件,以便在特定情况下失败时使用azure管道使用git commit --no-verify
?还是有办法在发生问题时对管道进行故障排除?
这是我保存的yaml文件
pool:
vmImage: ubuntu-18.04
variables:
PRE_COMMIT_HOME: $(Pipeline.Workspace)/pre-commit-cache
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: ${{ parameters.python }}
- script: |
echo "##vso[task.setvariable variable=PY]$(python -VV)"
displayName: set version variables
- task: CacheBeta@0
inputs:
key: pre-commit | .pre-commit-config.yaml | "$(PY)"
path: $(PRE_COMMIT_HOME)
- script: python -m pip install --upgrade pre-commit
displayName: install pre-commit
- script: pre-commit run --all-files --show-diff-on-failure
displayName: run pre-commit
解决方法
查看文档here:
并非所有的钩子都是完美的,因此有时您可能需要跳过执行 一个或多个挂钩。预提交通过查询
SKIP
解决了这一问题 环境变量。SKIP
环境变量是逗号 挂钩ID的分隔列表。这使您可以跳过单个钩子 而不是--no-verifying
整个提交。
$ SKIP=flake8 git commit -m "foo"