簡體   English   中英

Azure SQL 服務器 CICD Bicep 和 Key Vault

[英]Azure SQL Server CICD Bicep and Key Vault

我已經構建了一個 CICD 管道來部署 Azure SQL 服務器和數據庫,此過程的一部分是從 Key Vault 中的秘密中獲取用戶名和密碼。 YAML 中的 Key Vault 任務可以運行並可以訪問 Vault,但是當它調用 Azure CLI 任務來執行 Bicep 時,它會失敗並出現以下錯誤:

ERROR: Unable to parse parameter: **

我的代碼:

   steps:
- task: AzureKeyVault@2
  displayName: 'Download Key Vault Secrets'
  inputs:
    connectedServiceName: ${{ parameters.AzureResourceManagerConnection }}
    keyVaultName: ${{ parameters.keyVaultName }}
    secretsFilter: '*' 

- task: AzureCLI@2
  displayName: '${{ parameters.deploymentType }}: ${{ parameters.targetEnvironment }} ${{ parameters.product }}'
  inputs:
    azureSubscription: ${{ parameters.AzureResourceManagerConnection }}
    scriptType: 'ps'
    scriptLocation: 'inlineScript'
    inlineScript: |
      $tags = "${{ parameters.releaseFolder }}/${{ parameters.targetEnvironment }}/tags.json"
      $products = "${{ parameters.releaseFolder }}/${{ parameters.targetEnvironment }}/products.json"
      $productDeploymentFile = "${{ parameters.releaseFolder }}/SQLServer.bicep"
      az --version
      az deployment group ${{ parameters.deploymentType }} --name ${{ parameters.targetEnvironment }}-${{ parameters.product }}-products-deployment --resource-group ${{ parameters.resourceGroup }} --template-file $productDeploymentFile --parameters $tags $products "$(sql-admin-username)" "$(sql-admin-password)" --mode ${{ parameters.deploymentMode }}

和二頭肌文件:

param tags object
    param sqlServers array
    param sqlDatbases array
    
    param sqlAdminUserName string
    @secure()
    param sqlAdminPassword string
    
    
    resource sqlServer 'Microsoft.Sql/servers@2021-08-01-preview' = [for sql in sqlServers: {
      name: sql.Name
      location: sql.location
      properties: {
        administratorLogin: sqlAdminUserName
        administratorLoginPassword: sqlAdminPassword
        administrators: {
          azureADOnlyAuthentication: false
          administratorType: sql.administratorType
          principalType: sql.principalType
          login: sql.login
          sid: sql.sid
          tenantId: sql.tenantId
        }
      }
      tags: tags
    }]

有什么明顯不正確的地方嗎?

查看您的 yaml 文件,您傳遞內聯參數的方式不正確(請參閱文檔),您還需要指定參數名稱:

az deployment group `
...
  --parameters `
  sqlAdminUserName="$(sql-admin-username)" `
  sqlAdminPassword="$(sql-admin-password)" `
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM