我需要创建从 Azure DevOps 中的许多项目到我在 Azure 中的订阅的连接。 我还需要他来自天蓝色资源管理器类型,并且他们的服务主体将自动创建。
我尝试使用 Azure CLI,但我发现这是创建 azureRM 的唯一解决方案(如本链接中所述:创建 azurerm 服务端点),但您需要为他提供一个已存在的服务主体。
不幸的是,没有其他命令可以自动创建 Azure 服务连接。请参阅 here 对于服务主体和托管身份,您需要手动创建它。 请参考这里。
由于此选项仍处于公共预览版,因此并非所有功能都可用。
CLI command
创建它,并提及您的服务主体详细信息:-
CLI 命令:-
az devops service-endpoint azurerm create --azure-rm-service-principal-id "xxxxx6d26a31435cb" --azure-rm-subscription-id "xxxxx7cb2a7" --azure-rm-subscription-name "xxx subscription" --azure-rm-tenant-id "xxxxx-af9038592395" --name "AzureSp"
输出:-
您可以使用 Azure DevOps 中的 Azure CLI 任务获得相同的结果:-
YAML 管道:-
trigger:
- main
pool:
vmImage: ubuntu-latest
variables:
AZURE_DEVOPS_EXT_PAT: xxxxxxxxzz2jo34pa
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'xxx subscription (xxxxxxxxxxxa7)'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
#export AZURE_DEVOPS_EXT_PAT=xxxxxxxz2jo34pa
export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=xxxxxxx4_w0N4Yc9B
echo $(AZURE_DEVOPS_EXT_PAT) | az devops login --organization https://dev.azure.com/sid24desai0738
az devops service-endpoint azurerm create --azure-rm-service-principal-id "xxxxxx403c-9fe4-11971d950312" --azure-rm-subscription-id "xxxxxxxxxxe97cb2a7" --azure-rm-subscription-name "xxx subscription" --azure-rm-tenant-id "xxxxx038592395" --name "Azuremyapp"
您也可以调用Rest API来实现相同的任务,请参考此SO答案