Azure Bicep是否支持单独部署指定模块?
仅部署Bicep指定模块的解决办法
能不能只部署sample模块?
当然可以,推荐两种实用方案:
方案1:给模块加条件开关
修改你的主Bicep模板,给每个模块添加if条件,通过外部参数控制是否部署:
param deployApp bool = true param deployTest bool = true param deploySample bool = true module app '../../../projects/my/application/app.bicep' = if (deployApp) { name: 'app' } module test '../../../projects/my/application/test.bicep' = if (deployTest) { name: 'test' } module sample '../../../projects/my/application/sample.bicep' = if (deploySample) { name: 'sample' params { p1: 'p1' } }
部署时通过参数指定只运行sample模块:
az deployment group create --resource-group ${{variables.rg}} --template-file ${{variables.Templatefile}} --parameters deployApp=false deployTest=false deploySample=true
方案2:直接部署sample模块文件
如果不需要通过主模板统一调度,直接部署sample模块自身的Bicep文件即可:
az deployment group create --resource-group ${{variables.rg}} --template-file '../../../projects/my/application/sample.bicep' --parameters p1='p1'
Azure DevOps流水线部署特定模块的问题解决
你当前使用的命令会默认部署主模板内所有模块,按上面两种方案调整即可:
- 若要保留主模板调度逻辑,采用方案1的参数化条件部署,在流水线命令中传递对应的开关参数;
- 若无需主模板,直接修改命令中的
--template-file路径,指向sample模块的Bicep文件执行部署。
内容的提问来源于stack exchange,提问作者itlumeesatish B
相关产品推荐
相关产品推荐

