Aracılığıyla paylaş


Bicep linter kullanma

Bicep linter, Söz dizimi hataları ve en iyi yöntem ihlalleri için Bicep dosyalarını denetler. Lint, geliştirme sırasında rehberlik sağlayarak kodlama standartlarının uygulanmasına yardımcı olur. Dosyayı denetlemek için kullanılacak en iyi yöntemleri özelleştirebilirsiniz.

Linter gereksinimleri

Linter, Bicep CLI ve Visual Studio Code için Bicep uzantısıyla tümleşiktir. Bunu kullanmak için Bicep CLI 0.4 veya sonraki bir sürümüne sahip olmanız gerekir.

Varsayılan kurallar

Varsayılan linter kuralları en düşük düzeydedir ve arm-ttk test çalışmalarından alınır. Uzantı ve Bicep CLI uyarı düzeyine ayarlanmış aşağıdaki kuralları denetler.

Linter kuralı Varsayılan düzey
admin kullanıcı adı - kelimenin tam anlamıyla olmamalı uyarı
artifacts-parameters uyarı
decompiler-cleanup uyarı
lokal parametreler için açık değerler kapalı
max-asserts hata
maksimum çıkışlar hata
max-params hata
max-resources hata
maksimum-değişkenler hata
nested-deployment-template-scoping hata
çakışan meta veri yok uyarı
hiçbir dağıtım kaynağı yok uyarı
herhangi bir açık olmayan uyarı
sabit kodlu ortam URL'leri kullanılmamalı uyarı
sabit kodlu olmayan konum kapalı
no-loc-expr-outside-params kapalı
gereksiz bağımlı değil uyarı
kullanılmayan var olan kaynaklar yok uyarı
kullanılmayan ithalatlar uyarı
kullanılmayan parametreler uyarı
kullanılmayan vars yok uyarı
çıkışlar-sırları-içermemelidir uyarı
tercih-enterpolasyon uyarı
tırnaklanmamış-özellik-adlarını-tercih-et uyarı
koru-komutçalistir-gizli uyarı
güvenli-parametre-varsayılan uyarı
secure-params-in-nested-deploy uyarı
params içinde güvenli bir şekilde saklanan sırlar uyarı
interpolasyonu basitleştir uyarı
simplify-json-null uyarı
ebeveyn-özelliğini-kullan uyarı
son-api-sürümlerini-kullan kapalı
en son az PowerShell sürümünü kullan uyarı
son modül sürümlerini kullanma kapalı
kaynak-id-fonksiyonlarını-kullan kapalı
kaynak-simge-referans-kullan uyarı
güvenli erişim kullanma uyarı
güvenli-girdiler-için-güvenli-değer-kullan uyarı
kararlı-kaynak-belirleyicilerini-kullan uyarı
use-stable-vm-image uyarı
koşullu kısa devre (what-if-short-circuiting) kapalı

Tüm linter kurallarını etkinleştirebilir veya devre dışı bırakabilir ve bunların nasıl uygulanacağını bir yapılandırma dosyası kullanarak denetleyebilirsiniz. Varsayılan davranışı geçersiz kılmak için özel ayarlarınızla birbicepconfig.json dosyası oluşturun. Bu ayarları uygulama hakkında daha fazla bilgi için bkz . Bicep yapılandırma dosyasında özel ayarlar ekleme.

Visual Studio Code'da kullanma

Aşağıdaki ekran görüntüsünde Visual Studio Code'daki linter gösterilmektedir:

Visual Studio Code'da bicep linter kullanımı.

SORUNLAR bölmesinde, ekran görüntüsünde dört hata, bir uyarı ve bir bilgi iletisi gösterilir. Bilgi iletisi, kullanılan Bicep yapılandırma dosyasını gösterir. Yalnızca yapılandırma dosyasında ayrıntılıdeğerini true olarak ayarladığınızda bu bilgi parçasını gösterir.

Fare imlecinizi sorun alanlarından birinin üzerine getirin. Linter hata veya uyarıyla ilgili ayrıntıları verir. Alanı seçin, mavi bir ampul de gösterir:

Visual Studio Code'da bicep linter kullanımı - hızlı düzeltmeyi göster.

Çözümü görmek için ampulü veya Hızlı düzeltme bağlantısını seçin:

Visual Studio Code'da bicep linter kullanımı - hızlı düzeltme çözümünü göster.

Sorunu otomatik olarak düzeltmek için çözümü seçin.

Bicep CLI'da kullanma

Aşağıdaki ekran görüntüsünde komut satırında linter gösterilmektedir. Lint komutunun ve derleme komutunun çıktısı tüm kural ihlallerini gösterir.

Komut satırında bicep linter kullanımı.

Bu denetimleri CI/CD işlem hatlarınızın bir parçası olarak tümleştirebilirsiniz. Bicep derlemesi denemesi yapmak için GitHub eylemini kullanabilirsiniz. Hatalar işlem hatlarında başarısız olur.

Hatalı pozitifleri susturma

Bazen bir kuralın hatalı pozitif sonuçları olur. Örneğin, environment() işlevini kullanmadan doğrudan bir blob depolamaya bağlantı eklemeniz gerekebilir.

Bicep linter kurallarını disable-next-line ve disable-diagnostics kullanarak gizleyebilirsiniz. Bkz. Yönergeler. Bir linter kuralının gizlenmesini istiyorsanız, Offiçinde kuralın düzeyini olarak değiştirin. Aşağıdaki örnekte, no-deployments-resources kuralı bastırılmıştır:

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

Sonraki adımlar