【发布时间】:2020-11-13 12:16:41
【问题描述】:
我正在尝试在 Microsoft 托管和自托管(容器化)构建代理上运行的管道中使用容器作业模板。
ContainerJob 模板在 Microsoft Hosted 中运行时运行良好,但在自托管代理中显示 cannot run container inside a containerized build agent 时失败。错误是有道理的。
我认为如果可以有条件地添加/删除以下部分,那么相同的容器作业模板适用于两个代理。
${{ if not(parameters.isSelfHosted) }}:
container:
image: ${{ parameters.generalImage}}
endpoint: ${{ parameters.endpoint}}
environment: ${{ parameters.environment }}
但条件始终为真,并且始终添加 container 部分,并且始终在自托管代理中失败。我认为模板中不允许随意使用表达式。
我可以将此模板分成 2 个模板,然后将它们加载到各自的构建代理中,但这是最后的手段。非常感谢您在动态创建/更改模板方面的任何帮助。
【问题讨论】:
标签: azure-devops yaml azure-devops-hosted-agent azure-devops-pipelines