How can I get the PublishUrl via Azure PowerShell?

岁酱吖の 提交于 2019-12-02 03:08:00

问题


My goal is to be able to pass in a site name and location and have a new site created, retrieve the appropriate credentials/URLs and deploy my site with WebDeploy.

I'm using the Azure Powershell Tools from here: http://www.windowsazure.com/en-us/downloads/

I am able to create a new website with

New-AzureWebsite -Name site-name -Location "West US"

In response to this I get details about the created site, including the publishing username and password (PublishingUsername and PublishingPassword), the one piece of information I do not get that I need is the publishing URL (which I can retrieve from the Azure Management portal in an XML formatted file). In the XML file it is the publishUrl attribute on the publishProfile node.

My question is, is there a way via PowerShell to get the publishing URL, or via the REST API, but I would prefer PowerShell.

This is a similar question, which sounds like its not yet possible, at least at the time of writing: How can I get the FTP URL for my Azure website via the Management API?


回答1:


Get-AzureWebSite -Name site-name

will return the 'Git Repository' url in it's output


Get-AzureWebSite -Name site-name

Property=SelfLink

If you take the host name and replace api with publish you have the publishing url. Keep in mind that the publishing url is a secure connection so it connects over port 443




回答2:


I achieved webpublish with these information :

$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)

I then use this line to call the cmd script generated with the publish package.



来源:https://stackoverflow.com/questions/21893008/how-can-i-get-the-publishurl-via-azure-powershell

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!