Bicep リンターの使用方法
Bicep リンターは、Bicep ファイルに構文エラーとベスト プラクティス違反がないかチェックします。 リンターを使用すると、開発時のガイダンスが提供され、コーディング標準を適用できます。 ファイルのチェックに使用するベスト プラクティスをカスタマイズできます。
リンターの要件
リンターは、Bicep CLI と、Visual Studio Code 用の Bicep 拡張機能に統合されています。 使用するには、バージョン 0.4 以降が必要です。
既定のルール
既定のリンター ルールのセットは最小限であり、arm-ttk テスト ケースから取得されます。 拡張機能と Bicep CLI では、警告レベルに設定されている次のルールがチェックされます。
- adminusername-should-not-be-literal
- artifacts-parameters
- 逆コンパイルのクリーンアップ
- explicit-values-for-loc-params
- max-asserts
- max-outputs
- max-params
- max-resources
- max-variables
- nested-deployment-template-scoping
- no-conflicting-metadata
- no-deployments-resources
- no-hardcoded-env-urls
- no-hardcoded-location
- no-loc-expr-outside-params
- no-unnecessary-dependson
- no-unused-existing-resources
- no-unused-params
- no-unused-vars
- outputs-should-not-contain-secrets
- prefer-interpolation
- prefer-unquoted-property-names
- secure-parameter-default
- secure-params-in-nested-deploy
- secure-secrets-in-params
- simplify-interpolation
- simplify-json-null
- use-parent-property
- use-protectedsettings-for-commandtoexecute-secrets
- use-recent-api-versions
- use-recent-module-versions
- use-resource-id-functions
- use-resource-symbol-reference
- use-safe-access
- use-secure-value-for-secure-inputs
- use-stable-resource-identifiers
- use-stable-vm-image
- what-if-short-circuiting
リンター ルールの適用方法をカスタマイズできます。 既定の設定を上書きするには、bicepconfig.json ファイルを追加し、カスタム設定を適用します。 これらの設定の適用方法の詳細については、「Bicep 構成ファイルにカスタム設定を追加する」を参照してください。
Visual Studio Code での使用
次のスクリーンショットは、Visual Studio Code でのリンターを示しています。
以下のスクリーンショットに示されているように、 [問題] ペインには 4 つのエラーと、1 つの警告、1 つの情報メッセージがあります。 情報メッセージには、使用されている Bicep 構成ファイルが示されています。 構成ファイルで verbose を true に設定した場合、ここにはこの情報のみが表示されます。
問題のある領域のいずれかに、マウス カーソルを置きます。 リンターによって、エラーまたは警告に関する詳細が示されます。 領域を選択すると、青い電球も表示されます。
青い電球または Quick fix リンクを選択し、ソリューションを表示します。
ソリューションを選択して、問題を自動的に修正します。
Bicep CLI での使用
次のスクリーンショットは、コマンド ラインでのリンターを示しています。 lint コマンドと build コマンドからの出力には、規則違反が表示されます。
これらのチェックは、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/...'
ルールがこの行に適用されない理由を説明するコメントを追加することをお勧めします。
リンター ルールを抑制する場合は、bicepconfig.json でルールのレベルを Off
に変更できます。 たとえば、次の例では、no-deployments-reesources
ルールが抑制されます。
{
"analyzers": {
"core": {
"rules": {
"no-deployments-resources": {
"level": "off"
}
}
}
}
}
次のステップ
- リンター ルールのカスタマイズ方法の詳細については、「Bicep 構成ファイルにカスタム設定を追加する」を参照してください。
- Visual Studio Code と Bicep 拡張機能の使用方法の詳細については、「クイック スタート: Visual Studio Code を使用して Bicep ファイルを作成する」を参照してください。