Используйте линтер Bicep

Анализатор кода Bicep проверяет файлы Bicep на наличие синтаксических ошибок и нарушений рекомендаций. Линтер помогает обеспечивать соблюдение стандартов кодирования, предоставляя рекомендации в процессе разработки. Вы можете подобрать лучшие методики для проверки файла.

Требования к линтеру

Анализатор кода интегрирован в интерфейс командной строки Bicep и в расширение Bicep для Visual Studio Code. Чтобы использовать его, необходимо использовать Bicep CLI версии 0.4 или более поздней.

Правила по умолчанию

Набор правил анализатора кода по умолчанию минимален и взят из тестов arm-ttk. Расширение и CLI-инструмент Bicep проверяют следующие правила, для которых задан уровень предупреждения.

Правило Linter Уровень по умолчанию
adminusername-не-должен-быть-дословным предупреждение
артефакты-параметры предупреждение
декомпилятор-очистка предупреждение
явные-значения-для-параметров-loc выключено
max-утверждения ошибка
max-выходы ошибка
max-параметры ошибка
макс-ресурсы ошибка
макс-переменные ошибка
область действия вложенного шаблона развертывания ошибка
без конфликтующих метаданных предупреждение
нет-ресурсов-развертываний предупреждение
no-explicit-any (избегать явного использования 'any') предупреждение
no-hardcoded-env-urls предупреждение
нет жестко заданного местоположения выключено
Без жёстко-кодированных выходов выключено
no-loc-expr-внешние параметры выключено
no-module-name выключено
нет ненужных зависимостей предупреждение
неиспользуемые существующие ресурсы предупреждение
Неиспользуемые импорты предупреждение
неиспользуемые параметры предупреждение
Неиспользуемые типы предупреждение
Неиспользуемые VARS предупреждение
выходы-не-должны-содержать-секреты предупреждение
предпочитать интерполяцию предупреждение
предпочитать-имена-свойств-без-кавычек предупреждение
protect-commandtoexecute-secrets предупреждение
стандартное значение защищенного параметра предупреждение
secure-parameters-in-nested-deploy предупреждение
защищенные-параметры-в-файле-параметров предупреждение
secure-secrets-in-parameters предупреждение
упрощение интерполяции предупреждение
упрощение "json-null" предупреждение
use-description-outputs выключено
use-description-params выключено
use-description-type-properties выключено
use-description-types. выключено
use-description-vars выключено
use-parent-property-свойство предупреждение
используйте-новые-версии-api выключено
используйте-новую-версию-az-powershell предупреждение
используйте-новейшие-версии-модулей выключено
использовать распознанный тип ресурса предупреждение
use-resource-id-functions выключено
использовать ссылку на символ ресурса предупреждение
использование безопасного доступа предупреждение
используйте-безопасное-значение-для-безопасного-ввода предупреждение
use-stable-resource-identifiers предупреждение
use-stable-vm-image (использовать стабильное изображение ВМ) предупреждение
определяемые пользователем типы выключено
что-если-блокировка выключено

Вы можете включить или отключить все правила linter и управлять их применением с помощью файла конфигурации. Чтобы переопределить поведение по умолчанию, создайте файлbicepconfig.json с пользовательскими параметрами. Дополнительные сведения о применении этих параметров см. в разделе Добавление пользовательских параметров в файл конфигурации Bicep.

Использование в Visual Studio Code

На следующем снимке экрана показан линтер в Visual Studio Code:

Использование линтера Bicep в Visual Studio Code.

На панели "ПРОБЛЕМЫ " на снимке экрана показаны четыре ошибки, одно предупреждение и одно сообщение сведений. В информационном сообщении отображается используемый файл конфигурации Bicep. Эта информация отображается, только если для параметра verbose в файле конфигурации задано значение true.

Наведите указатель мыши на одну из проблемных областей. Линтер показывает подробности об ошибке или предупреждении. Выберите область со значком синей лампочки:

Использование линтера Bicep в Visual Studio Code — показать быстрое исправление.

Выберите значок лампочки или ссылку Quick fix, чтобы увидеть решение:

Использование линтера Bicep в Visual Studio Code — показать быстрое исправление.

Выберите решение, чтобы автоматически устранить проблему.

Использование в Bicep CLI

На снимке экрана ниже показан анализатор кода в командной строке. Результаты выполнения команды lint и команды build показывают все нарушения правил.

Использование анализатора кода Bicep в командной строке.

Вы можете интегрировать такие проверки в свои конвейеры CI/CD. Вы можете использовать GitHub Actions, чтобы попытаться выполнить сборку Bicep. Ошибки приводят к сбою конвейеров.

Устранение ложноположительных результатов

Иногда у правила бывают ложные срабатывания. Например, может потребоваться включить ссылку на хранилище BLOB-объектов напрямую, не используя функцию environment().

Вы можете отключить правила Bicep linter с помощью disable-next-line и disable-diagnostics. См. директивы. Если вы хотите отключить правило linter, измените уровень правила Off на bicepconfig.json. В следующем примере правило no-deployments-resources отключается.

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

Следующие шаги