【问题标题】:Github Status Check for Versioning版本控制的 Github 状态检查
【发布时间】:2020-10-06 05:11:54
【问题描述】:

我试图实现以下场景。

我们的开发人员在 repo 中维护一个 version.plist 文件。让我们考虑 master 的版本是 1.1.1。 (遵循 semver 2.0 规范)

当开发人员 A 致力于某项功能时,他会创建 PR 并将版本更新到 1.2.1。 我想对 PR 进行状态检查,以说明 PR 是否有正确的版本要合并到 master。

我不希望在版本与 master 相同或更低的情况下发生合并的情况。

让我们同样考虑另一个开发人员 B 也在开发另一个功能并将他的 version.plist 也更新为 1.2.1。他将它合并到 master,现在 master 有 1.2.1 版。

我希望上述状态检查重复测试并通知 Dev A 的 PR 不可合并,即使之前可以合并。

任何人都可以就如何通过 Status API/Events API 执行此操作提出任何建议。这是在与 Azure 管道集成的组织 GitHub 上。

【问题讨论】:

    标签: github devops versioning semantic-versioning


    【解决方案1】:

    您可以使用 githooks 来解决这个用例。

    • 确保服务器端 githooks 在您的 git 上可用。
    • 使用将在每次合并之前运行的 pre-merge-commit 挂钩。
    • 读取 $GIT_DIR 处当前分支的文件名。
    • 读取master分支的文件名
    git ls-tree -r --name-only <branch>
    
    • 比较文件名。
    • 如果想停止合并提交,钩子应该在向 stderr 发出适当的消息后以非零状态退出。

    您可能需要对只读 git 凭据进行硬编码。

    更多详情请见here

    【讨论】:

      猜你喜欢
      • 2017-10-22
      • 2020-01-11
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多