我的目标是能够传入站点名称和位置并创建新站点,检索相应的凭据/ URL并使用WebDeploy部署我的站点。
我在这里使用Azure Powershell工具:http://www.windowsazure.com/en-us/downloads/
我可以使用
创建一个新网站New-AzureWebsite -Name site-name -Location "West US"
为了回应这个问题,我获得了有关已创建网站的详细信息,包括发布用户名和密码(PublishingUsername和PublishingPassword),我需要的一条信息是我需要的是发布网址(我可以从中检索) XML格式文件中的Azure管理门户。在XML文件中,它是publishProfile节点上的publishUrl属性。
我的问题是,有没有办法通过PowerShell获取发布URL,或通过REST API,但我更喜欢PowerShell。
这是一个类似的问题,听起来似乎尚不可能,至少在撰写本文时:How can I get the FTP URL for my Azure website via the Management API?
答案 0 :(得分:6)
我使用这些信息实现了网络发布:
$websiteName = "mywebsite"
#Get the website's propeties.
$website = Get-AzureWebSite -Name $webSiteName
$siteProperties = $website.SiteProperties.Properties
#extract url, username and password
$url = ($siteProperties | ?{ $_.Name -eq "RepositoryURI" }).Value.ToString() + "/MsDeploy.axd"
$userName = ($siteProperties | ?{ $_.Name -eq "PublishingUsername" }).Value
$pw = ($siteProperties | ?{ $_.Name -eq "PublishingPassword" }).Value
#build the command line argument for the deploy.cmd :
$argFormat = ' /y /m:"{0}" -allowUntrusted /u:"{1}" /p:"{2}" /a:Basic "-setParam:name=DeployIisAppPath,value={3}"'
$arguments = [string]::Format($argFormat, $url, $userName, $pw, $webSiteName)
然后我使用此行来调用使用发布包生成的cmd脚本。
答案 1 :(得分:0)
Get-AzureWebSite -Name site-name
将在其输出中返回“Git Repository”网址
Get-AzureWebSite -Name site-name
属性= SelfLink
如果您使用主机名并将api
替换为publish
,则您拥有发布网址。请注意,发布网址是一种安全连接,因此它通过port 443