VSTS Azure Web 部署不同的文件夹
VSTS Azure web deployment different folder
我正在使用 VSTS,我的 Laravel Web 应用程序有我的存储库。所以我想将我的应用程序部署到 wwwroot 但 "physical path relative to site root" 必须设置为 "site\wwwroot\public" 因为我的视图在 public 目录中。
我认为在我进行第二次部署之前一切正常,文件现在已部署到 "site\wwwroot\public",因此我的视图现在必须是 "site\wwwroot\public\public"。
现在我正在寻找一种方法来指定与视图目录不同的部署目录。
这是我的设置当前的样子:
settings image
如果我的理解是正确的,您可以使用 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
类似内容请参考。
注意:在 VSTS 中,您可以创建 Azure Power Shell 任务。
我正在使用 VSTS,我的 Laravel Web 应用程序有我的存储库。所以我想将我的应用程序部署到 wwwroot 但 "physical path relative to site root" 必须设置为 "site\wwwroot\public" 因为我的视图在 public 目录中。
我认为在我进行第二次部署之前一切正常,文件现在已部署到 "site\wwwroot\public",因此我的视图现在必须是 "site\wwwroot\public\public"。
现在我正在寻找一种方法来指定与视图目录不同的部署目录。 这是我的设置当前的样子: settings image
如果我的理解是正确的,您可以使用 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
类似内容请参考
注意:在 VSTS 中,您可以创建 Azure Power Shell 任务。