使用Azure-Cli从Jenkins部署Azure到Azure的Azure函数

问题描述

我创建了一个docker容器并生成了我的azure函数应用代码的最终工件。容器中已经安装了Azure Cli。是否可以使用Azure Cli部署到Azure并传递凭据?

我尝试了以下命令(示例凭据):

az functionapp deployment user set --user-name "MY_USER" --password "MY_PASS" --subscription "MY_SUBSCRIPTION"

但是会导致以下错误

Subscription 'MY_SUBSCRIPTION' not recognized. ValidationError: Please run 'az login' to setup account.

如果我登录(需要输入浏览器的密码),则上面的命令似乎有效。

这将是CI / CD的一部分,并且手动登录不是解决方案。有什么想法吗?

解决方法

是的,您需要进行身份验证。这里有几个身份验证选项:Sign in with Azure CLI

使用服务主体进行身份验证是编写安全脚本或程序的最佳方法

Sign in with a service principal

,

您将需要使用service principle进行身份验证。但是由于您提到您正在使用Jenkins,所以幸运的是,如果您在Jenkins仪表板中进行设置,则rich set of plugins available for different Azure resources可以为您处理身份验证。例如,在这种情况下,您使用的是az cli,可以为其安装https://plugins.jenkins.io/azure-cli/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...