2017-08-31 131 views
0

我试图在本教程中使用Jenkins管道和Azure:https://docs.microsoft.com/en-us/azure/jenkins/execute-cli-jenkins-pipeline,但我在本地主机上运行了Jenkins(运行Win7)。在Jenkins流水线中使用Azure CLI

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

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

我能够在詹金斯以外的命令行中使用'az'命令。

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

回答

1

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

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

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

<mySrcvPrincipal>是您设置的凭证ID。

enter image description here

注:

当您添加Azure的服务主体詹金斯凭证,请单击Verity的服务主体,请确保你可以看到成功验证了微软的Azure服务主体。

+0

我很抱歉没有提到它,但我确实添加了服务主体作为第一件事(遵循教程)。 – EyfI

+0

@EyfI您是否检查控制台日志,是否发现'az login --service-principal -u **** -p **** -t ****'? –

+0

您可以使用相同的命令在Jenkins VM上登录。它应该工作。我在我的实验室测试,它对我有用。 –