我正在自动化以 Azure 应用服务为目标的部署,并且正在使用 FTP 部署。
不幸的是,FTP 部署的主机名似乎因应用程序而异,我希望我的脚本能够自行推断出正确的主机名。
azure CLI 中是否有任何内容可以让我获取 FTP 主机名值?如果有帮助的话,我正在使用 2.0( Shiny 的新版本)。
最佳答案
我不建议在生产中这样做,但它确实有效。它非常 hacky,所以要小心它的脆弱性:
$ az appservice web show -n ${WEB_APP} -g ${RES_GRP} -o json --query "hostNames" |
grep -v '.scm.' |
grep azurewebsites.net | # Drop custom domains here
xargs host | # Resolve the scale unit name
grep cloudapp.net |
tail -1 |
cut -d'.' -f 1
输出:
waws-prod-am2-103
这代表应用服务计划所在的规模单位。由于规模单位和 FTP 终结点之间似乎存在 1:1 关系,因此您可以像这样构建 FTP FQDN:
waws-prod-am2-103.ftp.azurewebsites.windows.net
话虽如此,我还是建议不要这样做并使用 Kudu's Zip Upload APIs相反(如果您确实不想/无法从源代码管理进行部署)。 Tom Sun - MSFT 已经推荐了这种方法,我也同意他的观点。
关于azure - 有没有办法以编程方式获取 FTP 部署主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615615/