当前位置: 首页 > 知识库问答 >
问题:

在Azure Devops中有条件地启动ARM模板部署

长孙哲
2023-03-14

我的源代码在GitHub上
我已设置Azure Devops管道,以构建应用程序并将其部署到Azure订阅
我也在ARM模板中定义了完整的azure环境。

我想只在我的GitHub回购中的特定文件夹更改时运行模板部署。

路径触发器仅适用于Azure Devops回购。

我调查了其他可能的解决方案,但没有明确的文档说明如何准确实现这一点:

  • 生成或发布任务的自定义条件
  • 部署前条件。也许是人工制品过滤器
  • 部署前闸门

我知道ARM模板部署是幂等的,但即使没有基础架构更改,运行也需要几分钟的时间,我希望避免在每个构建上浪费时间。

共有1个答案

王季萌
2023-03-14

听起来基础设施和应用程序代码都有一个管道。我为每一个都有单独的管道,一个作为代码用于基础设施,另一个作为应用程序的构建/管道,NuGet包创建,等等。可能会分割管道,并在基础设施部署管道之后单独设置应用程序部署触发器。这样,应用程序的构建和部署可以以更频繁的周期运行。

 类似资料:
  • 我正在处理ARM模板并需要执行条件部署。例如,我在变量“子网”中定义了两个网络安全组。 网络安全组nsg_bastion1需要使用预设规则进行特殊处理,因为它是Azure Bastion子网的网络安全组。nsg_client1将分配一些自定义规则,此时这些规则并不重要。 为了区分非堡垒和堡垒网络安全组,我创建了两个条件资源块: 条件属性检查子网是否称为“AzureBastionSubnet”。我已

  • 问题内容: 我正在为指令模板。如果范围内的属性设置为true,则应将其附加到元素。如果变量为false,则此数据属性不应呈现为元素的属性。 例如,如果scope变量为true,则模板应呈现: 如果为false,则模板应呈现: 模板将如何完成此任务? 例如,我知道可以用来有条件地包含一个类。如果我希望模板呈现此内容: 然后我的模板如下所示: 如果scope变量为,则模板将简单地呈现: 因此,模板中有

  • 我试图用PS和ARM来取代SQL Server逻辑服务器。我可以成功地在portal上创建具有贡献者权限的逻辑服务器,但不知道这里出了什么问题。 我在Windows上有PowerShell ISE。 错误:New-AzResourceGroupDeployment:17.35.18-error:code=InvalidTemplateDeployment;Message=模板部署失败,错误为:“模

  • 我想实现下面的用例——我的Spring Boot应用程序应该只在应用程序中有某个属性时启动。yaml设置为: 如果未设置该属性,则上下文初始化将失败,并显示一条消息,表明该属性丢失。 我在这个主题中找到了如何实现它:Spring启动-检测和终止,如果属性没有设置?但是我不能遵循这种方法的问题是,在加载检查此属性的bean之前,上下文初始化可能会失败。 例如,如果其他bean由于缺少另一个属性而无法

  • 我想使用arm模板在我的密钥库中创建秘密。但我得到以下错误 注意:密钥库已经创建,所以arm模板中不需要密钥库 谢谢