如何在 Azure DevOps 管道中安装 Azure Key Vault 证书?

How to install an Azure Key Vault certificate in an Azure DevOps pipeline?

问题说明了一切。我很难做到这一点,所以我要回答我自己的问题。

也许人们有一些 suggestions/modifications 但这是我们使用一些 PowerShell 命令得到的结果。

  1. 设置有权访问 Key Vault 的 Azure 资源管理器连接。 在 Azure 门户中,您可以在 Key Vault 的 “访问策略” 中执行此操作。 授予应用程序获取、列表和备份权限。

  2. 在您的 CI YAML 文件中:

- task: AzureCLI@2
  displayName: "Install Certificate"
  inputs:
    azureSubscription: '<Your Azure Resource Manager connection name>'
    scriptType: 'ps'
    scriptLocation: 'inlineScript'
    addSpnToEnvironment: true
    inlineScript: |
      Set-PSDebug -Trace 1
      $vaultName="<Your Key Vault name>"
      $certName="<Your certificate name in the Key Vault>"
      az keyvault secret show --vault-name $vaultName --name $certName | ConvertFrom-Json | Select-Object -Expand  value  > certName.pfx
      Import-PfxCertificate -FilePath certName.pfx Cert:\CurrentUser\My