在发布任务期间,在Web应用程序上运行Azure Powershell脚本

时间:2019-01-12 15:04:08

标签: azure-devops azure-web-sites azure-pipelines

在执行“部署到天蓝色的站点”任务之后,我的VSTS版本中正在运行“天蓝色的Powershell任务”。在powershell脚本中,我需要进行一些转换,这些转换都需要基于部署变量在网站上的几个文件上运行。

问题是我找不到网站的目录。运行任务的根目录类似于:

  

D:\ a_tasks \ AzurePowerShell_71a1931a-effb-3d2e-8fd8-f7472a07cb62 \ 3.1.18 \

我如何将其指向d:\ home \ site \ wwwroot \,是否有一个build / release变量可以自动选择部署站点的位置?或者我可以只写出'd:\ home \ site \ wwwroot \'并期望将来不会改变?

2 个答案:

答案 0 :(得分:1)

那不是它的工作原理(如果我理解正确的话)。您的脚本将在build \ release代理上运行,而不是在Webapp上运行。您将需要使用本机kudu功能来实现您想要的目标:https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script

答案 1 :(得分:0)

我建议同时使用kudu界面部署站点进行转换

您可以将两个操作的代码保存在PowerShell脚本中。结果,您将在定制中获得很大的自由度并提高了可扩展性。最好将它们附加为构建工件/或存储库引用。

如果将automation scripts添加为package,则将在每个发行版中绑定部署脚本的版本。它实现了向后兼容性(在部署代码与应用程序代码之间)。

Pipeline definition example