首页 文章

通过PowerShell自动部署Azure网站

提问于
浏览
0

我已经写了一些在Azure中创建新网站的行 . 之后,我的网站必须部署 . 阅读此事后,可以使用 msbuildDeployOnBuild 参数完成此操作 .

到目前为止,脚本看起来有点像这样(简化):

New-AzureResourceGroup -Location $locationWestEUDataCenter -Name $resourceGroupNameEU
New-AzureResource -ApiVersion 2014-04-01 -Name $hostingPlanNameEU -ResourceGroupName $resourceGroupNameEU `
                        -ResourceType Microsoft.Web/serverFarms -Location $locationWestEUDataCenter `
                        -PropertyObject $hostingPlanParametersEU -Verbose -Force
$siteWestEUProperties = @{name = $siteNameEU; sku = "Basic"; webHostingPlan = $hostingPlanNameEU}
New-AzureResource  -Name $siteNameEU -ResourceType Microsoft.Web/sites `
                         -ResourceGroupName $resourceGroupNameEU -Location $locationWestEUDataCenter `
                         -ApiVersion $apiVersion -PropertyObject $siteWestEUProperties
Switch-AzureMode AzureServiceManagement

MSBuild发布目前看起来像这样(http://www.asp.net/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/automate-everything的副本):

& "$env:windir\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" $websiteProjectFileAnalytics `
    /p:VisualStudioVersion=11.0 `
    /p:DeployOnBuild=true `
    /p:PublishProfile=$publishingFileAnalytics `
    /p:Password=$publishSettings.publishData.publishProfile.userPWD.get(0)

我对这行代码的问题是 Password 属性 . 必须从PublishSettings文件中检索密码 . 订阅PublishSettings文件中不存在此passwork . PublishSettings文件中提供了此密码(以及许多其他属性),您可以从Azure门户中的网站管理页面下载该文件 .

在这看到我的问题?

我想要完整自动部署完整的软件套件 . 有没有办法可以设置我正在创建的特定网站的密码?如果可以,我可以在PowerShell中管理密码并在发布时使用密码 .

或者是否有一种不同/更好的方式来自动部署Azure网站?

旁注:我是PowerShell新手,但已成功自动部署 Cloud 服务,服务总线,数据库,流量管理器,存储 .

1 回答

  • 1

    它总是一样的,在问你读了一些可能解决问题的问题之后 .

    blog post of Kaushal Kumar Panday中正在阅读以下内容:

    现在让我们点击“重置您的部署凭据”选项 . 这将提示用户弹出以下内容:image现在,此选项是自解释的 . 它允许用户更改部署凭证,即用户名和密码 . 但是,此选项并非特定于网站,因为用户正在更改部署帐户的密码,它将影响所有网站 . 这些凭据直接绑定到Microsoft帐户(Outlook.com或Live.com) . 因此,更改这些凭据将更改与Microsoft帐户绑定的所有订阅 .

    这意味着我可以为订阅更改一次部署凭据,并在我的脚本中使用这些凭据 . 这样做会产生以下命令:

    & "$env:windir\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" $websiteProjectFileAnalytics `
        /p:VisualStudioVersion=12.0 `
        /p:DeployOnBuild=true `
        /p:PublishProfile=$publishingFileAnalytics `
        /p:Password=$azureDeploymentPassword `
        /p:UserName=$azureDeploymentUsername `
        /p:MSDeployServiceURL=mywebsite.scm.azurewebsites.net:443
    

    为此,您需要从pubxml文件中删除 UserNameMSDeployServiceURL 元素 . 我也删除了 _SavePWD 元素,因为它不再做任何事情(我猜) .

    我的网站现已成功部署到Azure .

相关问题