是否可以在Azure Repos Git中动态设置源?

问题描述 投票:2回答:1

我正在寻找一种解决方案,以动态选择要在Azure管道中构建的分支。我有Azure Repos Git,可以在其中选择项目,存储库和默认分支。我希望能够基于变量选择分支。

[我现在正在尝试使用Command Line任务并触发git checkout命令(例如,branch是变量):

git checkout $(branch)

我无法确认它仍在工作,但仍然可以我确认它可以工作,但是我觉得有一个更好的选择,而不是签出默认分支,然后使用命令行切换分支。

azure-devops azure-pipelines azure-pipelines-build-task azure-repos
1个回答
1
投票

更新:

如果要使用单个管道可以为不同的分支构建不同的分支(版本分支),则只需在分支过滤器的触发器中指定它们。这不会建立所有分支。

您在构建定义中选择的分支只是手动对新构建进行排队时使用的默认分支。 OTOH构建触发器确定要下载的分支,例如如果构建是由分支开发上的git push触发的,则这是一个已签出并构建的。看一下此链接:Get the sources from the branch that triggered the build in Team Services

此外,您可以禁用默认的获取源代码步骤。然后使用您自己的powershell脚本和git命令手动获取源代码(正是您想要的)并签出分支,最后根据您的变量进行构建。


假设您正在选择默认分支。 这并不意味着这是该构建定义可以构建的唯一分支。

您可以选择要监视CI的分支(在“触发器”标签上,您可以添加多个分支过滤器来代表您想要的分支以建立提交),相应的分支将被检出当触发构建时。您也可以选择其他分支当手动排队构建时。

源链接:Get Sources from multiple branches

如果要如下动态选择default branch,则当前不可用。

enter image description here

这是您手动设置为默认的分支排队这个构建。如果您为构建设置了计划的触发器,则此是您的构建将从中获取最新资源的分支。

触发构建时默认分支没有方位通过持续集成(CI)。通常,将其设置为与存储库的默认分支相同(例如,“大师”)。

这里有一个相关的用户声音:When triggering a build, use the same branch as the trigger build.您可以投票支持并跟踪该过程。

© www.soinside.com 2019 - 2024. All rights reserved.