接受拉取请求后自动添加 git 标签
Automatically add a git tag after a pull request is accepted
我们正在遵循支持版本的 gitflow 工作流程,我们也在使用 PR(功能 -> 开发 [squash],修补程序 -> support/x.x,修补程序 -> 开发,release/x .x -> 主)
问题是发布的拉取请求并不严格等同于"git flow release finish",特别是因为没有添加标签到master(你还需要另一个PR来开发)。
修补程序的问题是一样的(你有 2 个 PR 要做,support/x.x 没有被标记)
解决问题的一件事是能够在 PR 被接受时在 PR 的目标分支上添加标签。
您知道围绕该用例是否可以实现一些自动化吗?
Automatically add a git tag after a pull request is accepted
恐怕没有这种方法可以在接受 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。
希望对您有所帮助。
添加到@LeoLiu-MSFT 答案:您可以添加一个“发布”管道,该管道在推送到目标分支时运行,该分支运行脚本来标记当前提交并推送标签。
我们正在遵循支持版本的 gitflow 工作流程,我们也在使用 PR(功能 -> 开发 [squash],修补程序 -> support/x.x,修补程序 -> 开发,release/x .x -> 主)
问题是发布的拉取请求并不严格等同于"git flow release finish",特别是因为没有添加标签到master(你还需要另一个PR来开发)。
修补程序的问题是一样的(你有 2 个 PR 要做,support/x.x 没有被标记)
解决问题的一件事是能够在 PR 被接受时在 PR 的目标分支上添加标签。
您知道围绕该用例是否可以实现一些自动化吗?
Automatically add a git tag after a pull request is accepted
恐怕没有这种方法可以在接受 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。
希望对您有所帮助。
添加到@LeoLiu-MSFT 答案:您可以添加一个“发布”管道,该管道在推送到目标分支时运行,该分支运行脚本来标记当前提交并推送标签。