Azure Pipelines在单个存储库中构建多个解决方案

时间:2019-02-13 09:34:22

标签: azure-devops azure-pipelines-build-task

是否可以创建一个YAML文件来在我的存储库中构建多个项目?

我有一个包含12个解决方案的仓库,每个解决方案中至少包含6个项目。该存储库非常复杂,无需深入说明为何如此开发,每个解决方案都是更大产品中的依赖项。

是否可以使用单个YAML文件来构建所有这些文件,而不是为每个这些项目创建构建管道?它们必须相互依存,因此必须按一定顺序构建。

在我们的本地TeamCity环境中,我们利用.msbuild文件来执行此操作,但是我找不到在Azure DevOps中执行此操作的方法

2 个答案:

答案 0 :(得分:0)

更好的问题是为什么?如果您设法通过if或类似的方式执行此操作,则您的yaml文件将很大且无法维护。

为什么不为每个构建只使用一个文件?您可以让它们中的许多都针对不同的文件...

在您的建筑师发疯的情况下,您可以使用以下方式:

- ${{ if eq(Build.DefinitionName, 'something') }}:
  - task: something
    xxx

,您将在文件中包含多个此选项,每个解决方案一个。但这是一种极其糟糕的方法。

答案 1 :(得分:0)

是的,您可以使用YAML方法进行构建。但是,YAML脚本非常庞大且难以理解依赖关系。如果您是系统新手,则始终可以使用Designer方法并提取系统生成的YAML。这是YAML schema参考,可能对您有帮助!