4

我们如何实现服务器端钩子或任何类似的解决方案来限制 git push 进入 git 服务器?

例如,我们想要禁用包含 *.class 文件的提交的推送。

4

3 回答 3

4

我不认为 Azure DevOps 使用钩子。

您可以使用分支策略来利用外部验证服务(据我了解,这使用了网络挂钩)。

附加:此用户语音请求的状态表明以上是官方答案。

但也许最简单的情况是.gitignore代码审查?

于 2019-01-16T08:46:53.300 回答
3

我所做的是将构建选项与 Azure DevOps 中的策略一起使用。这是我的azure-pipelines.yml文件:

---
trigger:
  branches:
    exclude:
      - '*'

pool:
  vmImage: 'ubuntu-latest'

steps:
  - script: sudo apt-get install python3-pip
    displayName: 'Install Python PIP'

  - script: sudo apt-get install python3-setuptools
    condition: succeeded()
    displayName: Install Python SetupTools

  - script: sudo pip3 install -r requirements.txt
    condition: succeeded()
    displayName: Install Python PIP Packages

  - task: PythonScript@0
    inputs:
      scriptSource: filePath
      scriptPath: hooks/lint_checker.py
      pythonInterpreter: python3
    condition: succeeded()
    displayName: Lint Checker
于 2019-09-22T10:40:52.197 回答
2

使用分支策略并设置仅与 PR 合并,之后直接推送到分支将被禁用,您可以为某些用户(构建用户或管理员)跳过这些策略 在此处输入图像描述

于 2019-11-04T15:54:10.247 回答