다음을 통해 공유

使用 Bicep Linter

Bicep Linter 会检查 Bicep 文件是否存在语法错误以及违反最佳做法。 Linter 在开发过程中提供指导,帮助用户实施代码标准。 你可以自定义最佳做法,用于检查文件。

Linter 要求

Linter 已集成到 Bicep CLI 和 Visual Studio Code 的 Bicep 扩展中。 若要使用它,必须具有 Bicep CLI 0.4 或更高版本

默认规则

默认的 Linter 规则集最小,取自 arm-ttk 测试用例。 扩展和 Bicep CLI 会检查以下规则,而这些规则被设定为警告级别。

Linter 规则 默认级别
adminusername-不应被字面理解 警告
工件-参数 警告
decompiler-cleanup 警告
loc-参数的显式值
max-asserts 错误
max-outputs 错误
max-params 错误
max-resources 错误
最大变量 错误
nested-deployment-template-范围 错误
无冲突元数据 警告
无部署资源 警告
no-explicit-any(禁止显式的 any) 警告
无硬编码环境网址 警告
无硬编码位置
no-loc-expr-outside-params
无不必要依赖 警告
无未使用的现有资源 警告
no-unused-imports(未使用的导入) 警告
no-unused-params(无未使用参数) 警告
no-unused-vars(未使用的变量) 警告
输出不应包含秘密 警告
prefer-interpolation 警告
偏好不加引号的属性名 警告
保护命令执行秘密 警告
安全参数默认值 警告
嵌套部署中的安全参数 警告
在参数中保护秘密 警告
简化插值 警告
simplify-json-null 警告
use-parent-property(使用父属性) 警告
使用最新的API版本
使用最新的az powershell版本 警告
使用最新模块版本
使用资源标识功能
资源符号引用使用 警告
use-safe-access (使用安全访问) 警告
为安全输入使用安全值 警告
使用稳定资源标识符 警告
使用稳定的虚拟机镜像 警告
假设短路

可以启用或禁用所有 linter 规则,并控制如何使用配置文件应用它们。 若要替代默认行为,请使用自定义设置创建 bicepconfig.json 文件。 有关应用这些设置的详细信息,请参阅在 Bicep 配置文件中添加自定义设置

在 Visual Studio Code 中使用

以下屏幕截图显示了 Visual Studio Code 中的 Linter:

在 Visual Studio Code 中使用 Bicep Linter。

在屏幕截图所示的“问题”窗格中,显示了四条错误消息、一条警告消息和一条信息性消息。 信息消息显示了所使用的 Bicep 配置文件。 仅当在配置文件中将verbose设置为true时,才显示这一信息。

将鼠标光标悬停在某个问题区域上。 Linter 将提供有关错误或警告的详细信息。 选择该区域,还会显示蓝色灯泡:

在 Visual Studio Code 中使用 Bicep Linter - 显示快速修复。

选择灯泡或“快速修复”链接以查看解决方法:

在 Visual Studio Code 中使用 Bicep Linter - 显示快速修复解决方法。

选择解决方法以自动解决问题。

使用 Bicep CLI

以下屏幕截图显示了命令行中的 Linter。 lint 命令build 命令显示任何规则违反情况。

在命令行中使用 Bicep Linter。

可以将这些检查集成到您的 CI/CD 流水线中。 可以使用 GitHub 操作来尝试生成 Bicep。 出错会导致管道失败。

消除误报

有时规则会出现误报。 例如,可能需要直接包含 Blob 存储的链接,而无需使用 environment() 函数。

可以使用 disable-next-linedisable-diagnostics 来忽略 Bicep linter 规则。 请参阅 指令。 如果要取消 linter 规则,请将规则级别更改为 Offbicepconfig.json。 在以下示例中,会抑制 no-deployments-resources 规则:

{
  "analyzers": {
    "core": {
      "rules": {
        "no-deployments-resources": {
          "level": "off"
        }
      }
    }
  }
}

后续步骤