2017-08-31 109 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上登錄。它應該工作。我在我的實驗室測試,它對我有用。 –