##[错误]未定义:ValueType 'System.Boolean' 不能为空。 (带有 DevOps 的 ARM 模板部署)
Posted
技术标签:
【中文标题】##[错误]未定义:ValueType \'System.Boolean\' 不能为空。 (带有 DevOps 的 ARM 模板部署)【英文标题】:##[error]undefined: ValueType 'System.Boolean' cannot be null. (ARM Template deployment with DevOps)##[错误]未定义:ValueType 'System.Boolean' 不能为空。 (带有 DevOps 的 ARM 模板部署) 【发布时间】:2022-01-22 01:36:39 【问题描述】:说明
我在使用 ARM 模板部署 Azure 函数时收到了这个奇怪的错误。我能够将该特定资源隔离为故障的根源。我无法在 Microsoft 文档中找到有关此错误的信息。你知道根本原因是什么吗?
错误
There were errors in your deployment. Error code: DeploymentFailed.
##[error]At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.
##[error]Details:
##[error]undefined: ValueType 'System.Boolean' cannot be null.
##[error]Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting
##[error]Task failed while creating or updating the template deployment.
模板
请注意,服务器场已存在于另一个资源组中。
// ...
"variables":
// ...
"serverfarms_ASE_externalid": "[concat('/subscriptions/', variables('varSubscriptionId'), '/resourceGroups/ABC-123-rg/providers/Microsoft.Web/serverfarms/Medium-ASE01-Windows01')]",
// ...
,
"resources": [
// ...
"type": "Microsoft.Web/sites",
"apiVersion": "2019-08-01",
"name": "[variables('functionApp_name')]",
"location": "[parameters('infra').region.primaryName]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', variables('storageAccount_name'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccount_name'))]"
],
"identity":
"type": "SystemAssigned"
,
"kind": "functionapp",
"properties":
"serverFarmId": "[variables('serverfarms_ASE_externalid')]",
"siteConfig":
"appSettings": [
"name": "AzureWebJobsStorage",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccount_name'), ';AccountKey=', listKeys(variables('storageAccountid'),'2015-05-01-preview').key1)]"
,
"name": "AzureWebJobsDashboard",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccount_name'), ';AccountKey=', listKeys(variables('storageAccountid'),'2015-05-01-preview').key1)]"
,
"name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccount_name'), ';AccountKey=', listKeys(variables('storageAccountid'),'2015-05-01-preview').key1)]"
,
"name": "WEBSITE_CONTENTSHARE",
"value": "[toLower(variables('functionApp_name'))]"
,
"name": "FUNCTIONS_EXTENSION_VERSION",
"value": "~3"
,
"name": "WEBSITE_NODE_DEFAULT_VERSION",
"value": "8.11.1"
,
"name": "APPINSIGHTS_INSTRUMENTATIONKEY",
"value": "[reference(resourceId('Microsoft.Insights/components', variables('appInsights_name')), '2014-04-01').InstrumentationKey]"
,
"name": "FUNCTIONS_WORKER_RUNTIME",
"value": "dotnet"
,
"name": "AzureWebJobsSecretStorageType",
"value": "files"
]
// ...
]
【问题讨论】:
嗨皮维耶蒂;您需要去查看资源组的部署记录。这将有尝试部署的详细记录,并提供尽可能多的信息。您可以通过 azure 门户或 az cli 或 powershell 访问它。 【参考方案1】:##[错误]详情: ##[error]undefined: ValueType 'System.Boolean' 不能为空。
这不是常见的 Azure 部署问题。请查看common azure deployment issue
您可以使用find error code找到确切的问题
与部署相关的错误分为三种类型:
验证错误在部署开始之前发生,是由文件中的语法错误引起的。您的编辑可以识别这些错误。 预检验证错误在运行部署命令但未部署资源时发生。在没有开始部署的情况下发现这些错误。例如,如果参数值不正确,则会在预检验证中发现错误。 部署错误发生在部署过程中,只能通过评估部署进度来发现。所有类型的错误都会返回一个错误代码,您可以使用该代码对部署进行故障排除。验证和预检错误会显示在活动日志中,但不会出现在您的部署历史记录中。有语法错误的 Bicep 文件不会编译成 JSON,也不会显示在活动日志中。
要识别语法错误,您可以使用Visual Studio Code 和最新的Bicep extension 或Azure Resource Manager Tools extension。
【讨论】:
以上是关于##[错误]未定义:ValueType 'System.Boolean' 不能为空。 (带有 DevOps 的 ARM 模板部署)的主要内容,如果未能解决你的问题,请参考以下文章
获得未处理的异常:System.ArgumentNullException
Docker启动报Job for docker.service failed because the control process exited with error code. See “syst