在 Jenkins 管道中使用 Azure CLI

Using Azure CLI in Jenkins pipeline

我正在尝试使用本教程将 Jenkins 管道与 Azure 结合使用:https://docs.microsoft.com/en-us/azure/jenkins/execute-cli-jenkins-pipeline 除了我在本地主机上安装 Jenkins (运行ning Win7)。

构建按预期工作,但在 Jenkinsfile 中 'az login...' 脚本应 运行 的行部署失败,并出现 'command not found' 错误。

 withCredentials([azureServicePrincipal('...')]) {
      sh '''
        'az login ..'

我可以在 Jenkins 之外的命令行中使用 'az' 命令。

我错过了什么吗?任何帮助将不胜感激。

您需要将 Azure 服务主体添加到 Jenkins 凭据。请参考您提供的link

如果您没有服务主体,您可以使用 Azure CLI 2.0 创建一个新的。请参考这个link:Create an Azure service principal with Azure CLI 2.0.

withCredentials([azureServicePrincipal('<mySrvPrincipal>')]) 

<mySrcvPrincipal> 是您设置的凭据id。

注:

当您将 Azure 服务主体添加到 Jenkins 凭证时,单击验证服务主体,请确保您还看到已成功验证 Microsoft Azure 服务主体。