4

我们正在使用支持版本的 gitflow 工作流,并且我们也在使用 PR(功能 -> 开发 [squash],修补程序 -> 支持/xx,修补程序 -> 开发,发布/xx -> 主)

问题是发布的拉取请求并不严格等同于“git flow release finish”,特别是因为没有将标签添加到master(您还需要另一个PR来开发)。

修补程序的问题是相同的(您有 2 个 PR 要做,并且未标记 support/xx)

可以解决问题的一件事是能够在 PR 被接受时在 PR 的目标分支上添加标签。

您知道围绕该用例是否可以进行一些自动化?

4

2 回答 2

3

接受拉取请求后自动添加 git 标签

当 PR 被接受时,恐怕没有这种方法可以在 PR 的目标分支上添加标签。

我们可以创建一个脚本来自动添加一个 git 标签,比如:

if [ -z "$NEEDS_TAG" ]; then
    echo "Tagged with $NEW_TAG "
    git tag $NEW_TAG
    git push --tags
else
    echo "Already a tag on this commit"
fi

但是,在接受拉取请求后,我们无法执行此脚本。因为在拉取请求被接受后没有这样的选项或钩子来触发这个脚本。

此外,分支策略的选项,如构建验证,在拉取请求被接受之前完成。

您可以在我们的 UserVoice 网站 ( https://developercommunity.visualstudio.com/content/idea/post.html?space=21 )上添加对此功能的请求,这是我们产品建议的主要论坛。感谢您帮助我们构建更好的 Azure DevOps。

在此处输入图像描述

希望这可以帮助。

于 2019-11-11T03:49:22.137 回答
0

添加到@LeoLiu-MSFT 答案:您可以添加一个“发布”管道,该管道在推送到运行脚本以标记当前提交并推送标签的目标分支时运行。

于 2021-08-02T11:50:28.820 回答