Utiliser le linter Bicep
Le linter Bicep vérifie les fichiers Bicep pour rechercher les erreurs de syntaxe et les infractions aux meilleures pratiques. Ce linter facilite l’application des normes de code en proposant des conseils pendant le développement. Vous pouvez personnaliser les meilleures pratiques à utiliser pour vérifier le fichier.
Exigences relatives aux linters
Le linter est intégré à l’interface CLI Bicep et à l’extension Bicep pour Visual Studio Code. Pour l’utiliser, vous devez disposer de la version 0.4 ou d’une version ultérieure.
Règles par défaut
L’ensemble par défaut des règles du linter est minimal et extrait des cas de test arm-ttk. L’extension et l’interface CLI de Bicep vérifient les règles suivantes, qui sont définies sur le niveau avertissement.
- adminusername-should-not-be-literal
- artifacts-parameters
- decompiler-cleanup
- 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
- Utiliser-une-valeur-sécurisée-pour-les-entrées-sécurisées
- use-stable-resource-identifiers
- use-stable-vm-image
- what-if-short-circuiting
Vous pouvez personnaliser le mode d’application des règles du linter. Pour remplacer les paramètres par défaut, ajoutez un fichier bicepconfig.json et appliquez des paramètres personnalisés. Pour plus d’informations sur l’application de ces paramètres, consultez Ajouter des paramètres personnalisés dans le fichier de configuration Bicep.
Utiliser dans Visual Studio Code
La capture d’écran suivante montre le linter dans Visual Studio Code :
Le volet PROBLÈMES contient quatre erreurs, un avertissement et un message d’information illustrés sur la capture d’écran. Le message d’information affiche le fichier de configuration Bicep utilisé. Ce type d’information n’est affichée que lorsque vous définissez verbose sur true dans le fichier de configuration.
Passez le curseur de la souris sur l’une des zones de problèmes. Le linter donne les détails de l’erreur ou de l’avertissement. Sélectionnez la zone pour afficher également une ampoule bleue :
Sélectionnez soit l’ampoule, soit le lien Correctif rapide pour voir la solution :
Sélectionnez la solution pour résoudre le problème automatiquement.
Utiliser dans l’interface CLI Bicep
La capture d’écran suivante montre le linter dans la ligne de commande. La sortie de la commande lint et de la commande build affiche toutes les violations aux règles.
Vous pouvez intégrer ces vérifications dans le cadre de vos pipelines CI/CD. Vous pouvez utiliser une action GitHub pour tenter une génération de Bicep. Les erreurs font échouer les pipelines.
Ignorer les faux-positifs
Parfois, une règle peut avoir des faux positifs. Par exemple, vous pourriez devoir inclure un lien vers un stockage d’objets blob directement sans utiliser la fonction environnement().
Dans ce cas, vous pouvez désactiver l’avertissement pour une seule ligne, et non l’intégralité du document, en ajoutant #disable-next-line <rule name>
avant la ligne contenant l’avertissement.
#disable-next-line no-hardcoded-env-urls //Direct download link to my toolset
scriptDownloadUrl: 'https://mytools.blob.core.windows.net/...'
Il est judicieux d’ajouter un commentaire expliquant pourquoi la règle ne s’applique pas à cette ligne.
Si vous souhaitez supprimer une règle linter, vous pouvez modifier le niveau de la règle à Off
dans bicepconfig.json. Par exemple, dans l’exemple suivant, la règle no-deployments-resources
est supprimée :
{
"analyzers": {
"core": {
"rules": {
"no-deployments-resources": {
"level": "off"
}
}
}
}
}
Étapes suivantes
- Pour plus d’informations sur la personnalisation des règles du linter, consultez Ajouter des paramètres personnalisés dans le fichier de configuration Bicep.
- Pour plus d’informations sur l’utilisation de Visual Studio Code et l’extension Bicep, consultez Démarrage rapide : Créer des fichiers Bicep avec Visual Studio Code.