我正在忙着编写一些部署脚本。此脚本需要做的一件事是发布一个新的Azure网站。
为此,我已经编写了一些在Azure中创建新网站的行。之后,我的网站必须部署。阅读此问题,可以使用msbuild
和DeployOnBuild
参数来完成此操作。
到目前为止,脚本看起来有点像这样(简化):
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文件中不存在此通行证。 PublishSettings文件中提供了此密码(以及许多其他属性),您可以从Azure门户网站的网站管理页面下载该文件。
在这里查看我的问题?
我希望完全自动部署完整的软件套件。有没有办法可以设置我创建的特定网站的密码?如果可以,我可以在PowerShell中管理密码并在发布时使用密码。
或者是否有一种不同/更好的方式来自动部署Azure网站?
旁注:我是PowerShell的新手,但已成功自动部署云服务,服务总线,数据库,流量管理器,存储。
答案 0 :(得分:1)
总是一样的,在问了一些问题之后你会读到一些可能解决问题的方法。
在blog post of Kaushal Kumar Panday中正在阅读以下内容:
现在让我们点击“重置您的部署凭据”选项。这个 将使用以下弹出窗口提示用户:
图像
现在,这个选项是不言自明的。它允许用户更改 部署凭证,即用户名和密码。不过这个 选项不是特定于网站,因为用户正在更改 部署帐户的密码,会影响所有网站。 这些凭据直接绑定到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文件中删除UserName
和MSDeployServiceURL
元素。我也删除了_SavePWD
元素,因为它不再做任何事情(我猜)。
我的网站现已成功部署到Azure。