如果我需要将一个布尔值从 VSTS 传递到 powershell 脚本以在 CD 中进行部署。我收到以下错误:
无法将值“System.String”转换为类型“System.Boolean”。布尔参数仅接受布尔值和数字,例如 $True、$False、1 或 0。
我将来自 VSTS 的参数作为内联脚本传递-ClientCertificateEnabled "$(ClientCertificateEnabled)"
template.json
并在使用中复制值replacetoken.ps1
via parameters.local.jason
。
参数.local.jason
"clientCertEnabled": {
"value": "{{clientCertificateEnabled}}"
},
替换令牌.ps1
[Parameter(Mandatory=$true)]
[bool]
$ClientCertificateEnabled
$depParametersFile = $depParametersFile.Replace('{{clientCertificateEnabled}}', $ClientCertificateEnabled)
部署.ps1
[Parameter(Mandatory=$true)]
[bool]
$ClientCertificateEnabled
模板.json
"clientCertEnabled": {
"type": "bool",
"defaultValue": true,
"metadata": {
"description": "Indicates if client certificate is required on web applications on Azure."
}
}
"clientCertEnabled": "[parameters('clientCertEnabled')]"