【问题标题】:TFS 2008 - Require database reviewer on check-inTFS 2008 - 签入时需要数据库审阅者
【发布时间】:2014-03-06 17:54:35
【问题描述】:

我有一个团队项目,其中包含 n 个分支,每个分支在根目录中都包含一个数据库文件夹。数据库文件夹是开发人员签入视图、存储过程等的地方。我们遇到了一些问题,开发人员签入的 SQL 代码写得不好,引入了性能瓶颈等等。 DBA 要求我阻止开发人员签入对数据库文件夹的更改,直到他有机会查看这些更改。

我知道我可以添加“数据库审核者”作为必需签入说明的一部分,但我不需要每次开发人员签入时都进行数据库审核;如果变更集包含对数据库文件夹的更改,我只需要进行数据库审查。我无法在 Google 上提出任何有价值的东西,所以我认为这不是 TFS 内置的功能。有人可以指出如何解决这个问题,或者解释他们过去是如何解决类似问题的吗?

谢谢!

【问题讨论】:

    标签: tfs


    【解决方案1】:

    对此没有明确的解决方案,但您有几个选择。

    1. 删除普通开发人员对数据库文件夹的签入权限,并让他们将更改作为搁置集发送给数据库人员。
    2. 要求开发人员变得更专业,并让他们与 SQL 专家一起审查他们的代码,以便他们以后更精通 SQL(我的首选是 SQL 专家不属于团队)
    3. 在编写复杂的 SQL 脚本时,请 SQL 人员加入团队并让他与开发人员结对(这样更好)。
    4. 没有选项可以将签入注释设为产品中特定分支、文件夹或文件的可选选项,但通过制定自定义签入策略,您可以要求在“已审阅的数据库”字段中输入数据。 Combine this with the Custom path policy 将此签入策略限制为源代码管理中的特定路径。

    该自定义策略如下所示:

    public override PolicyFailure[] Evaluate()
    {
        if (
            PendingCheckin.CheckinNotes.CheckinNotes.Values.Any(
                note => note.Name == "Database Reviewed By" && string.IsNullOrWhiteSpace(note.Value)))
        {
            return new PolicyFailure[]{new PolicyFailure("Database Review Required", this) };
        }
        else
        {
            return new PolicyFailure[0];
        }
    }
    

    查看这个小示例项目以查看how you can create a custom checkin policy。还有requirements if your Check-in policy needs to support multiple Visual Studio versions

    TFS 2012 添加了一个代码审查功能,可以使用3rd party check-in policy 使其成为必需(同样,结合自定义路径策略使其仅适用于某些路径)。 codeplex 上有一些项目为旧版本的 TFS 提供了类似的功能。其中包括Team ReviewTFS Review Workflow

    【讨论】:

    • 谢谢杰西。我想我可以根据自己的需要进行调整。
    【解决方案2】:

    没有内置任何东西来处理这个问题。我认为处理它的最佳方法是锁定这些文件夹,这样开发人员就无法在那里签入。创建一个分支/文件夹,您可以允许开发人员在那里签入。这将使 DBA 能够在合并/迁移之前查看更改。

    TFS 2012 包含一个代码审查工作流程,如果您可以升级 TFS,也可以使用该工作流程。还有一个名为 Team Review 的自定义附加组件可与 TFS 2008 一起使用。它提供了一个很好的工作流程,但它仍然是自愿的。 https://teamreview.codeplex.com/releases/view/40528

    谢谢, 迈克

    【讨论】:

      猜你喜欢
      • 2020-03-05
      • 2016-10-05
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多