使用 AzureResourceGroupDeployment overrideParameters 部署 Azure 云服务(扩展支持)会出现 JSON 错误

问题描述 投票:0回答:1

所以这是场景:

我创建了一个云服务(扩展支持)项目。作为一名 DevOps 工程师,我需要在 Azure Devops 中创建一个管道以将包推送到 azure。

我已按照发布云服务官方指南发布云服务。 因此,对于任务 ARM 模板部署:资源组范围,我使用覆盖参数,如下所示:

-servicename worker -packageSasUri https://mystorageaccount.blob.core.windows.net/mypackage/202405181456/service.cspkg?<sas-token> -configurationSasUri https://mystorageaccount.blob.core.windows.net/mypackage/202405181456/ServiceConfiguration.Cloud.cscfg?<sas-token> -location 'Australia Southeast' -certificateName AccelerusLightWorker -keyVaultName worker-vault -keyVaultResourceGroup rg-worker

仅 YAML 文件 ARM 模板部署:

steps:
- task: AzureResourceManagerTemplateDeployment@3
  displayName: 'ARM Template deployment: Resource Group scope'
  inputs:
    azureResourceManagerConnection: netsynergy
    subscriptionId: 'id'
    resourceGroupName: 'rg-worker'
    location: 'location'
    csmFile: 'build/bicep/worker.bicep'
    overrideParameters: <above mentioned>

我正在使用二头肌模板:

param location string
param servicename string

@secure()
param packageSasUri string
@secure()
param configurationSasUri string

param keyVaultName string
param certificateName string
param keyVaultResourceGroup string

# there are other resources as well
resource cloudService 'Microsoft.Compute/cloudServices@2020-10-01-preview' = {
   name:  '${servicename}-worker-${suffix}'
   location: location
   tags: {
       DeployFromVisualStudio: 'true'
    }
    properties: {
      osProfile: <secret>
      packageUrl: packageSasUri
      configurationUrl: configurationSasUri
      upgradeMode: 'Auto'
    }
}

因此,在运行管道时,我收到以下错误:

由于“TypeError:无法读取未定义的属性(读取“类型”)”,覆盖“”参数时出现错误,请确保它遵循 JavaScript 对象表示法 (JSON) 开始模板验证。 (节点:6460)[DEP0005] DeprecationWarning:由于安全和可用性问题,Buffer() 已被弃用。请改用 Buffer.alloc()、Buffer.allocUnsafe() 或 Buffer.from() 方法。 部署名称为 accelerus-20240519-032042-6d1e (使用

node --trace-deprecation ...
显示警告的创建位置) 您的部署中存在错误。错误代码:InvalidDeploymentParameterKey。

azure azure-devops cloud azure-resource-manager azure-bicep
1个回答
0
投票

根据错误消息,您的 Bicep 模板中的参数似乎存在一些问题。要确认这一点,请尝试使用 Azure CLI 在本地计算机上部署模板。有关详细信息,请参阅如何将 Azure 资源管理器 (ARM) 部署模板与 Azure CLI 结合使用

az deployment group create --name ExampleDeployment --resource-group ExampleGroup --template-file <path-to-template> --parameters storageAccountType=Standard_GRS

如果有同样的错误,请检查您的模板。

  • 确保 Bicep 文件中的所有参数均已正确定义。该错误消息表明存在未定义参数之一的问题。
  • 检查您是否使用了 Bicep 文件中尚未定义的参数。
© www.soinside.com 2019 - 2024. All rights reserved.