Uso de Bicep linter
La herramienta linter de Bicep comprueba los archivos de Bicep en busca de errores de sintaxis e infracciones de procedimientos recomendados. Linter ayuda a aplicar estándares de codificación mediante las instrucciones que proporciona durante el desarrollo. Puede personalizar los procedimientos recomendados que se van a usar para comprobar el archivo.
Requisitos de linter
La herramienta linter se integra en la CLI de Bicep y la extensión de Bicep para Visual Studio Code. Para usarlo, debe disponer de la versión 0.4 o posterior.
Reglas predeterminadas
El conjunto predeterminado de reglas de linter es mínimo y se obtiene de los casos de prueba de arm-ttk: La extensión y la CLI de Bicep comprueban las reglas siguientes, que se establecen en el nivel de advertencia.
- 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
- use-secure-value-for-secure-inputs
- use-stable-resource-identifiers
- use-stable-vm-image
- cortocircuitos hipotéticos
Puede personalizar cómo se aplican las reglas de linter. Para sobrescribir la configuración predeterminada, agregue un archivo bicepconfig.json y aplique la configuración personalizada. Para obtener más información sobre cómo aplicar dicha configuración, consulte Agregar opciones personalizadas en el archivo de configuración de Bicep.
Uso en Visual Studio Code
En la captura de pantalla siguiente se muestra linter en Visual Studio Code:
En el panel PROBLEMS, hay cuatro errores, una advertencia y un mensaje informativo, como se muestra en la captura de pantalla. El mensaje informativo muestra el archivo de configuración de Bicep que se usa. Solo muestra este fragmento de información cuando se establece verbose en true en el archivo de configuración.
Mantenga el cursor del mouse sobre una de las áreas problemáticas. Linter proporciona los detalles sobre el error o la advertencia. Seleccione el área, también muestra una bombilla azul:
Seleccione la bombilla o el vínculo Corrección rápida para ver la solución:
Seleccione la solución para corregir el problema automáticamente.
Uso de la CLI de Bicep
En la captura de pantalla siguiente se muestra la herramienta linter en la línea de comandos. En la salida del comando de linting y del comando de compilación se muestra si se ha infringido alguna regla.
Puede integrar estas comprobaciones como parte de las canalizaciones de CI/CD. Puede usar una acción GitHub para intentar realizar una compilación de Bicep. Los errores producirán un error en las canalizaciones.
Silenciamiento de los falsos positivos
En ocasiones, una regla puede tener falsos positivos. Por ejemplo, puede que necesite incluir un vínculo a un almacenamiento de blobs directamente sin usar la función environment().
En este caso, puede deshabilitar la advertencia solo para una línea, no para todo el documento, agregando #disable-next-line <rule name>
al principio de la línea con la advertencia.
#disable-next-line no-hardcoded-env-urls //Direct download link to my toolset
scriptDownloadUrl: 'https://mytools.blob.core.windows.net/...'
Es una buena práctica agregar un comentario que explique por qué la regla no se aplica a esta línea.
Si quiere suprimir una regla de linter, puede cambiar el nivel de la regla a Off
en bicepconfig.json. Por ejemplo, en el ejemplo siguiente se ha suprimido la regla no-deployments-reesources
:
{
"analyzers": {
"core": {
"rules": {
"no-deployments-resources": {
"level": "off"
}
}
}
}
}
Pasos siguientes
- Para obtener más información sobre cómo personalizar las reglas de linter, consulte Agregar opciones personalizadas en el archivo de configuración de Bicep.
- Para obtener más información sobre el uso de Visual Studio Code y la extensión Bicep, consulte Inicio rápido: Creación de plantillas de archivos de Bicep con Visual Studio Code.