CI / CD流程:
后续版本会更新脚本和可执行文件,但VM不会下载更新的脚本。如何重新下载并运行将运行更新的可执行文件的脚本?
答案 0 :(得分:4)
为了在现有VM上执行CustomScriptExtension,该扩展的配置必须是"不同的"比它最后一次部署 - 如果它看起来相同,即json资源中的每个属性值与上次相同,则不重新应用扩展。
有两种简单的方法可以进行配置"不同的"。
1)更改资源中的任何属性值,这可能并不总是实用的(在某些情况下与您真正想要做的相反),因此要更改的最合理的属性是fileUris属性。通常,此属性包含为该特定部署生成的sasToken。由于每次属性值更改并重新应用扩展时sasToken都不同。您可以在此处查看此示例:
https://github.com/bmoore-msft/AzureRM-Samples/tree/master/VMCSEInstallFilePS
查看根目录中部署模板的脚本。
2)如果#1不适合工作流程,则可以使用资源上的forceUpdateTag属性对此进行更多控制。你"种子"此值包含您在第一次部署时所需的任何字符串,然后更改后续部署中的值以重新应用该扩展。因此,例如,您可以使用参数并在需要强制更改时增加该值。
HTH