Freigeben über


Verwenden des Bicep-Linters

Der Bicep-Linter überprüft Bicep-Dateien auf Syntaxfehler und Verstöße gegen bewährte Methoden. Der Linter hilft beim Erzwingen von Codierungsstandards, indem er während der Entwicklung Leitfäden bereitstellt. Sie können die bewährten Methoden, die zum Überprüfen der Datei verwendet werden sollen, anpassen.

Linter-Anforderungen

Der Linter ist in die Bicep CLI und die Bicep-Erweiterung für Visual Studio Code integriert. Zur Verwendung benötigen Sie Bicep CLI, Version 0.4 oder höher.

Standardregeln

Der Standardsatz von Linterregeln ist minimal und stammt aus den „arm-ttk“-Testfällen. Die Erweiterung und die Bicep CLI überprüfen die folgenden Regeln, die auf die Warnstufe festgelegt sind.

Linter-Regel Standardebene
adminusername-should-not-be-literal Warnung
Artifacts-Parameter Warnung
Dekompilerbereinigung Warnung
explicit-values-for-loc-params Aus
max-asserts Fehler
max-Outputs Fehler
max-params Fehler
Max-Ressourcen Fehler
Max-Variablen Fehler
Bereichsdefinition für geschachtelte Bereitstellungsvorlagen Fehler
no-conflicting-metadata Warnung
no-deployments-resources Warnung
no-hardcoded-env-urls Warnung
kein hartcodierter Speicherort Aus
no-loc-expr-outside-params Aus
no-unnecessary-dependson Warnung
keine nicht verwendeten Ressourcen Warnung
keine nicht verwendeten Importe Warnung
no-unused-params Warnung
no-unused-vars Warnung
outputs-should-not-contain-secrets Warnung
Prefer-Interpolation Warnung
prefer-unquoted-property-names Warnung
protect-commandtoexecute-secrets Warnung
secure-parameter-default Warnung
secure-params-in-nested-deploy Warnung
secure-secrets-in-params Warnung
vereinfachende Interpolation Warnung
simplify-json-null Warnung
use-parent-property Warnung
use-recent-api-versions Aus
use-recent-module-versions Aus
use-resource-id-functions Aus
use-resource-symbol-reference Warnung
use-safe-access Warnung
use-secure-value-for-secure-input Warnung
use-stable-resource-identifiers Warnung
use-stable-vm-image Warnung
Was-wäre-wenn-Kurzschluss Aus

Sie können alle Linter-Regeln aktivieren oder deaktivieren und steuern, wie sie mithilfe einer Konfigurationsdatei angewendet werden. Um das Standardverhalten außer Kraft zu setzen, erstellen Sie eine bicepconfig.json Datei mit Ihren benutzerdefinierten Einstellungen. Weitere Informationen zum Anwenden dieser Einstellungen finden Sie unter Hinzufügen benutzerdefinierter Einstellungen in der Bicep-Konfigurationsdatei.

Verwenden in Visual Studio Code

Der folgende Screenshot zeigt den Linter in Visual Studio Code:

Verwendung des Bicep-Linters in Visual Studio Code

Im Bereich PROBLEME im Screenshot gibt es vier Fehler, eine Warnung und eine Informationsmeldung. Die Informationsmeldung zeigt die verwendete Bicep-Konfigurationsdatei an. Diese Informationen werden nur angezeigt, wenn Sie verbose in der Konfigurationsdatei auf true festgelegt haben.

Zeigen Sie mit dem Mauszeiger auf einen der Problembereiche. Der Linter zeigt Details zum Fehler oder zur Warnung an. Wählen Sie den Bereich aus, es wird auch eine blaue Glühbirne angezeigt:

Verwendung des Bicep-Linters in Visual Studio Code: schnelle Problembehebung

Wählen Sie die Glühbirne oder den Link Schnelle Problembehebung aus, um die Lösung anzuzeigen:

Verwendung des Bicep-Linters in Visual Studio Code: schnelle Problembehebung anzeigen

Wählen Sie die Lösung aus, um das Problem automatisch beheben zu lassen.

Verwenden der Bicep-CLI

Der folgende Screenshot zeigt den Linter in der Befehlszeile. Die Ausgabe des lint-Befehls und des Buildbefehls zeigt alle Regelverletzungen an.

Verwendung des Bicep-Linters an der Befehlszeile

Sie können diese Überprüfungen in Ihre CI/CD-Pipelines integrieren. Außerdem können Sie eine GitHub-Aktion verwenden, um einen Bicep-Build zu versuchen. Fehler führen zu einem Abbruch der Pipelines.

Stummschalten von False Positives

Manchmal kann eine Regel False Positives ergeben. Sie müssen z. B. möglicherweise direkt einen Link zu Blob Storage einschließen, ohne die Funktion environment() zu verwenden. In diesem Fall können Sie die Warnung nur für eine Zeile, nicht das gesamte Dokument, deaktivieren, indem Sie vor der Zeile mit der Warnung #disable-next-line <rule name> hinzufügen.

#disable-next-line no-hardcoded-env-urls //Direct download link to my toolset
scriptDownloadUrl: 'https://mytools.blob.core.windows.net/...'

Es ist eine bewährte Praxis, einen Kommentar hinzuzufügen, der erklärt, warum die Regel nicht für diese Zeile gilt.

Wenn Sie eine Linter-Regel unterdrücken möchten, können Sie die Ebene der Regel in Off in ändern. Im folgenden Beispiel wird beispielsweise die Regel no-deployments-resources unterdrückt:

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

Nächste Schritte