Azure DevOps执行aztfy命令报错:open /dev/tty: no such device or address
问题解决办法
核心原因
aztfy在无交互式终端(tty)的环境(比如Azure DevOps流水线)中,会尝试打开/dev/tty获取用户输入,但流水线运行时没有该设备,因此触发报错。本地运行有终端支持,所以能正常执行。
具体解决步骤
- 强制非交互式运行:给
aztfy命令添加--non-interactive参数,跳过所有交互式输入要求。修改后的命令为:aztfy resource-group -n --full-properties --non-interactive my-rg - 配置流水线身份验证:通过Azure DevOps的服务连接确保代理机有权访问目标资源组。推荐用
AzureCLI任务先完成身份验证,再执行命令,示例YAML如下:- task: AzureCLI@2 inputs: azureSubscription: '你的服务连接名称' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | aztfy resource-group -n --full-properties --non-interactive my-rg - 同步aztfy版本:确保流水线代理机上的aztfy版本和本地一致,旧版本可能缺少
--non-interactive参数,执行以下命令升级:az extension update --name aztfy
额外提示
添加引号后提示文件不存在是因为命令格式错误,无需给整个命令加引号,只需保证参数传递正确即可。
内容的提问来源于stack exchange,提问作者Vowneee
相关产品推荐
相关产品推荐

