繁体   English   中英

Azure 管道多次检查相同的回购协议

[英]Azure Pipeline checkout same repo multiple times

我已经为此苦苦思索了好几天。 基本上,这是我的设置:

  • 我有一个分为 10-15 个阶段的主管道,您可以 select 运行哪些。
  • 所有阶段都依赖于 1 Powershell 阶段,它做一些工作并设置一些变量
  • 每个阶段(Powershell 除外)调用一个模板,该模板调用另一个 BIG 模板(某些阶段可能调用相同的 BIG 模板或不同的模板)
  • 我的问题在于“结帐”步骤:
- checkout: git://Project/${{parameters.RepositoryToCheckOut}}@$(Build.SourceBranch)
   path: PathSpecified

分支变量和存储库变量都需要在某种程度上是动态的。

如果选择了两个或多个阶段,则会多次执行此步骤,从而在 Azure DevOps 上提示此错误:

An error occurred while loading the YAML build pipeline. An item with the same key has already been added.

我在一些文件上读到这是某种键/值问题,我不知道如何克服它。 我想避免使用简单的 bash 步骤和手动签出,因为这些文件非常重要并且没有错误余地。

什么可以解决这个问题?

我尝试使用参数和编译时变量,但没有任何效果。 我仍然有同样的错误。

使用这个解决了问题:

- checkout: git://ProjectName/${{parameters.RepositoryToCheckout}}@${{ variables['Build.SourceBranch'] }}

显然这会欺骗管道并且它只是工作,老实说,我什至无法自己正确解释它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM