VSTS Azure web 部署不同的文件夹
Posted
技术标签:
【中文标题】VSTS Azure web 部署不同的文件夹【英文标题】:VSTS Azure web deployment different folder 【发布时间】:2017-09-27 07:04:01 【问题描述】:我正在使用 VSTS,并且我的存储库与我的 Laravel Web 应用程序一起使用。所以我想将我的应用程序部署到 wwwroot 但“相对于站点根目录的物理路径”必须设置为“site\wwwroot\public”,因为我的视图位于公共目录中。
在我进行第二次部署和现在部署到“site\wwwroot\public”的文件之前,我认为一切正常,因此我的视图现在必须是“site\wwwroot\public\public”。
现在我正在寻找一种方法来指定与视图目录不同的部署目录。 这是我目前的设置: settings image
【问题讨论】:
您可以使用 Azure Power Shell 来修改虚拟应用程序目录。 所以你的意思是它设置路径为 wwwroot 然后部署它,然后让它设置回 wwwroot/public? 是的,您可以在 VSTS 上创建一个 Azure Power Shell 任务,更改您需要的目录,然后您可以将代码部署到该目录。 【参考方案1】:如果我的理解是正确的,您可以使用 Azure Power Shell 将新的虚拟应用程序附加到现有应用程序。使用以下代码。
# Example call: SetWebAppConfig MyResourceGroup MySite $ConfigObject
# https://github.com/davidebbo/AzureWebsitesSamples/blob/b2a3d67a90b7b2d673d68dab553f82e015333d10/PowerShell/HelperFunctions.ps1#L84-L87
Function SetWebAppConfig($ResourceGroupName, $SiteName, $ConfigObject)
$WebAppApiVersion = "2015-08-01"
Set-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceType Microsoft.Web/sites/Config -Name $SiteName/web -PropertyObject $ConfigObject -ApiVersion $WebAppApiVersion -Force
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId $subscriptionId
$website = Get-AzureRmWebApp -ResourceGroupName $resourceGroupName -Name $websiteName
$virtualApplications = $website.SiteConfig.VirtualApplications
$hash = New-Object System.Collections.ArrayList
for ($j = 0; $j -lt $virtualApplications.count; $j++)
$entry = @ virtualPath = $virtualApplications[$j].VirtualPath; physicalPath = $virtualApplications[$j].PhysicalPath
$hash.add($entry)
$newEntry = @ virtualPath = "/$siteName"; physicalPath = "site\$siteName"
$hash.add($newEntry)
$hashProps.VirtualApplications
$virtualApps = $website.SiteConfig.VirtualApplications.Add(@ virtualPath = "/$siteName"; physicalPath = "site\$siteName" )
$props=@
virtualApplications = $hash.ToArray()
SetWebAppConfig $resourceGroupName $websiteName $props
请参考类似question。
注意:在 VSTS 中,您可以创建 Azure Power Shell 任务。
【讨论】:
谢谢你的回答,我稍后再试试。是否也可以从 Web 应用程序的控制台更改路径? 你的意思是在 Kudu 上改变它? 好的,如果我前后更改它现在可以正常工作。再次感谢您。以上是关于VSTS Azure web 部署不同的文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Azure Devops (VSTS) 代理池和部署池之间的区别