我正在尝试使用 ARM 模板自动化创建 Java 应用程序服务的过程,然后利用 FTP 发布方法为 Tomcat 上传 Java WAR 文件。
以下内容在 Azure CLI 中不起作用 -
$ azure resource show <resource-group> <appservice-name>/publishingcredentials Microsoft.Web/sites/config 2015-08-01
error: The resource type could not be found in the namespace 'Microsoft.Web' for api version '2015-08-01'
但这在 Azure PowerShell 中有效 -
$resource = Invoke-AzureRmResourceAction -ResourceGroupName <resource-group> -ResourceType Microsoft.Web/sites/config -ResourceName <appservice-name>/publishingcredentials -Action list -ApiVersion 2015-08-01 -Force
$resource.Properties
我一直在引用资源浏览器 https://resources.azure.com 中的命名空间但无法找到正确的语法来获取 FTP 用户名和密码,我稍后可以在脚本中使用它们来上传 WAR 文件。
最佳答案
我找到了替代方案。
如果资源组是手动创建的,并且资源组下任何网站的 FTP 发布凭据都是手动设置的。然后,这将为资源组设置备用 FTP 凭据 - 不特定于任何网站(或者可能是整个帐户的全局凭据)。
创建后的每个网站都会在 FTP 服务器上设置不同的域,并且备用凭据适用于任何网站 - ftp:///username@waws-prod-sn1-033.ftp.azurewebsites.windows.net。
现在,在 Jenkin 中,如果我们在同一资源组下基于 git 分支名称创建一个新的 siteName,我们就可以使用上面为新 siteName 预先配置的 FTP 凭据来上传应用程序存档。
我希望有一种方法可以使用 Azure CLI 至少检索备用凭据。资源浏览器将其显示在 - https://management.azure.com/providers/Microsoft.Web/publishingUsers/web?api-version=2015-08-01 下.
或者即使可以设置ARM模板下的“siteConfig”属性来配置publishingUsername和publishingPassword。我尝试了此选项,但这些属性被忽略。
关于java - 如何使用 Azure CLI 为使用 ARM 模板新创建/更新的应用服务获取发布凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37143775/