次の方法で共有


Bicep リンターの使用方法

Bicep リンターは、Bicep ファイルに構文エラーとベスト プラクティス違反がないかチェックします。 リンターを使用すると、開発時のガイダンスが提供され、コーディング標準を適用できます。 ファイルのチェックに使用するベスト プラクティスをカスタマイズできます。

リンターの要件

リンターは、Bicep CLI と、Visual Studio Code 用の Bicep 拡張機能に統合されています。 これを使用するには、 Bicep CLI バージョン 0.4 以降が必要です。

既定のルール

既定のリンター ルールのセットは最小限であり、arm-ttk テスト ケースから取得されます。 拡張機能と Bicep CLI では、警告レベルに設定されている次のルールがチェックされます。

リンター ルール 既定のレベル
adminusername-should-not-be-literal 警告
アーティファクトパラメータ 警告
decompiler-cleanup 警告
locパラメータの明示的な値 オフ
max-asserts エラー
max-outputs エラー
max-params エラー
max-resources エラー
max-variables エラー
nested-deployment-template-scoping エラー
競合していないメタデータ 警告
デプロイメントなしリソース 警告
ハードコードされた環境URLを使用しない 警告
ハードコードされた場所なし オフ
no-loc-expr-outside-params オフ
no-unnecessary-dependson 警告
未使用の既存リソースの禁止 警告
no-unused-imports 警告
no-unused-params 警告
no-unused-vars 警告
outputs-should-not-contain-secrets 警告
補間を好む 警告
prefer-unquoted-property-names 警告
protect-commandtoexecute-secrets 警告
secure-parameter-default 警告
secure-params-in-nested-deploy 警告
secure-secrets-in-params 警告
simplify-interpolation 警告
simplify-json-null 警告
親プロパティを使用する 警告
最新のAPIバージョンを使用する オフ
最新のモジュールバージョンを使用する オフ
use-resource-id-functions オフ
use-resource-symbol-reference 警告
セーフアクセスを使用 警告
セキュアな入力にはセキュアな値を使用する 警告
use-stable-resource-identifiers 警告
安定したVMイメージを使用する 警告
what-if-short-circuiting オフ

すべてのリンター ルールを有効または無効にし、構成ファイルを使用して適用方法を制御できます。 既定の動作をオーバーライドするには、カスタム設定で bicepconfig.json ファイルを作成します。 これらの設定の適用方法の詳細については、「Bicep 構成ファイルにカスタム設定を追加する」を参照してください。

Visual Studio Code での使用

次のスクリーンショットは、Visual Studio Code でのリンターを示しています。

Visual Studio Code での Bicep リンターの使用。

以下のスクリーンショットに示されているように、[問題] ペインには 4 つのエラーと、1 つの警告、1 つの情報メッセージがあります。 情報メッセージには、使用されている Bicep 構成ファイルが示されています。 この情報は、構成ファイルで verbosetrue に設定した場合にのみ表示されます。

問題のある領域のいずれかに、マウス カーソルを置きます。 リンターによって、エラーまたは警告に関する詳細が示されます。 領域を選択すると、青い電球も表示されます。

Visual Studio Code での Bicep リンターの使用 - quickfix の表示。

電球または Quick fix のリンクを選択し、解決方法を表示します。

Visual Studio Code での Bicep リンターの使用 - quickfix による解決方法の表示。

解決方法を選択して問題を自動的に修正します。

Bicep CLI での使用

次のスクリーンショットは、コマンド ラインでのリンターを示しています。 lint コマンドbuild コマンドからの出力には、規則違反が表示されています。

コマンド ラインでの Bicep リンターの使用。

これらのチェックは、CI/CD パイプラインの一部として統合できます。 GitHub アクションを使用して、bicep ビルドを試みることができます。 エラーにより、パイプラインが失敗します。

偽陽性の抑制

ルールで誤検知を受け取る場合があります。 たとえば、environment() 関数を使用せずに BLOB ストレージへのリンクを直接含める必要がある場合があります。 この場合、警告を含む行の前に #disable-next-line <rule name> を追加することで、ドキュメント全体ではなく、1 行のみの警告を無効にすることができます。

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

ルールがこの行に適用されない理由を説明するコメントを追加することをお勧めします。

リンター ルールを抑制する場合は、Off でルールのレベルを に変更できます。 たとえば、次の例では、no-deployments-resources ルールが抑制されます。

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

次のステップ