Partilhar via


Use o bíceps linter

O linter do Bicep verifica os arquivos do Bicep em busca de erros de sintaxe e violações de práticas recomendadas. O linter ajuda a aplicar os padrões de codificação, fornecendo orientação durante o desenvolvimento. Você pode personalizar as práticas recomendadas a serem usadas para verificar o arquivo.

Requisitos de forro

O linter é integrado à CLI do Bicep e à extensão Bicep para Visual Studio Code. Para usá-lo, você deve ter a CLI do Bicep versão 0.4 ou posterior.

Regras predefinidas

O conjunto padrão de regras linter é mínimo e retirado de casos de teste arm-ttk. A extensão e a CLI do Bíceps verificam as seguintes regras, que são definidas para o nível de aviso.

Regra de Linter Nível padrão
adminusername-não-deveria-ser-literal aviso
parâmetros de artefatos aviso
limpeza do descompilador aviso
valores-explícitos-para-loc-params desligado
max-asserts erro
saídas máximas erro
max-params erro
max-recursos erro
max-variáveis erro
escopo de implantação de templates aninhados erro
Metadados sem conflito aviso
recursos-sem-implementações aviso
não-explícito-qualquer aviso
não-codificado-hardcoded-env-urls aviso
localização sem codificação desligado
no-loc-expr-fora-dos-parâmetros desligado
não-desnecessário-dependente aviso
recursos não existentes não utilizados aviso
importações não utilizadas aviso
parâmetros não utilizados aviso
VARs sem uso aviso
saídas-devem-não-conter-segredos aviso
interpolação preferencial aviso
preferir-nomes-de-propriedades-sem-aspas aviso
proteger-comandoexecutar-segredos aviso
parâmetro-seguro-padrão aviso
secure-params-in-nested-deploy aviso
proteger-segredos-nos-parâmetros aviso
simplificar-interpolação aviso
simplify-json-null aviso
uso-propriedade-pai aviso
use-recent-api-versions desligado
use-recent-az-powershell-version (usar-versão-recente-do-az-powershell) aviso
usar-versões-recentes-dos-módulos desligado
Funções de usar ID de recurso desligado
usar-referência-símbolo-de-recurso aviso
acesso seguro de uso aviso
use-valor-seguro-para-entradas-seguras aviso
utilização de identificadores de recursos estáveis aviso
usar-imagem-vm-estável aviso
Curto-circuito hipotético desligado

Você pode habilitar ou desabilitar todas as regras linter e controlar como elas são aplicadas usando um arquivo de configuração. Para substituir o comportamento padrão, crie um arquivo bicepconfig.json com suas configurações personalizadas. Para obter mais informações sobre como aplicar essas configurações, consulte Adicionar configurações personalizadas no arquivo de configuração do Bicep.

Uso no Visual Studio Code

A captura de tela a seguir mostra o linter no Visual Studio Code:

Uso de linter do bíceps no Visual Studio Code.

No painel PROBLEMAS, há quatro erros, um aviso e uma mensagem informativa mostrada na captura de tela. A mensagem info mostra o arquivo de configuração do Bicep que é usado. Ele só mostra essa informação quando você define verbose como true no arquivo de configuração.

Passe o cursor do mouse sobre uma das áreas problemáticas. Linter dá os detalhes sobre o erro ou aviso. Selecione a área, ele também mostra uma lâmpada azul:

Uso de linter do bíceps no Visual Studio Code - mostra o quickfix.

Selecione a lâmpada ou o link Correção rápida para ver a solução:

Uso de linter do bíceps no Visual Studio Code - mostra a solução de correção rápida.

Selecione a solução para corrigir o problema automaticamente.

Utilização na CLI do Bíceps

A captura de tela a seguir mostra o linter na linha de comando. A saída do comando lint e do comando build mostra quaisquer violações de regras.

Uso do bíceps linter na linha de comando.

Você pode integrar essas verificações como parte de seus pipelines de CI/CD. Você pode usar uma ação do GitHub para tentar uma compilação bicep. Os erros falharão nos pipelines.

Silenciar falsos positivos

Às vezes, uma regra pode ter falsos positivos. Por exemplo, talvez seja necessário incluir um link para um armazenamento de blob diretamente sem usar a função environment( ). Nesse caso, você pode desativar o aviso apenas para uma linha, não para o documento inteiro, adicionando #disable-next-line <rule name> antes da linha com o aviso.

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

Podem ser listados vários códigos, separados por espaços.

É uma boa prática adicionar um comentário explicando por que a regra não se aplica a essa linha.

Se quiser suprimir uma regra linear, você pode alterar o nível da regra para Off em bicepconfig.json. Por exemplo, no exemplo a seguir, a no-deployments-resources regra é suprimida:

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

Próximos passos