Bicep ortamınızı yapılandırma
Bicep, bicepconfig.json adlı isteğe bağlı bir yapılandırma dosyasını destekler. Bu dosyanın içinde, Bicep geliştirme deneyiminizi özelleştiren değerler ekleyebilirsiniz. Bu dosya varsayılan yapılandırma dosyasıyla birleştirilir. Daha fazla bilgi için bkz . Birleştirme işlemini anlama. Bir yapılandırmayı özelleştirmek için, aynı dizinde veya Bicep dosyalarınızın üst dizininde bir yapılandırma dosyası oluşturun. bicepconfig.json dosyaları içeren birden çok üst dizin varsa, Bicep en yakın dizinden yapılandırmayı kullanır. Daha fazla bilgi için bkz . Dosya çözümleme işlemini anlama.
Bicep uzantısı ayarlarını yapılandırmak için bkz . Visual Studio Code ve Bicep uzantısı.
Visual Studio Code'da yapılandırma dosyası oluşturma
Yapılandırma dosyasını oluşturmak için herhangi bir metin düzenleyicisi kullanabilirsiniz.
Visual Studio Code'da bicepconfig.json dosyası oluşturmak için Komut Paleti'ni ([CTRL/CMD]+[SHIFT]+P) açın ve ardından Bicep: Bicep Yapılandırma Dosyası Oluştur'u seçin. Daha fazla bilgi için bkz . Bicep yapılandırma dosyası oluşturma.
Visual Studio Code için Bicep uzantısı, bicepconfig.json dosyalar için IntelliSense'i destekler. Kullanılabilir özellikleri ve değerleri bulmak için IntelliSense'i kullanın.
Birleştirme işlemini anlama
bicepconfig.json dosyası, varsayılan yapılandırma dosyasıyla özyinelemeli bir alt-yukarı birleştirme işleminden geçer. Birleştirme işlemi sırasında Bicep her iki yapılandırmadaki her yolu inceler. Varsayılan yapılandırmada bir yol yoksa, yol ve ilişkili değeri nihai sonuda eklenir. Buna karşılık, varsayılan yapılandırmada farklı bir değere sahip bir yol varsa, bicepconfig.json değeri birleştirilmiş sonuçta önceliklidir.
Varsayılan yapılandırmanın aşağıdaki gibi tanımlandığı bir senaryo düşünün:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
bicepconfig.json aşağıdaki gibi tanımlanır:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Sonuçta elde edilen birleştirilmiş yapılandırma şöyle olacaktır:
{
"cloud": {
...
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
},
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
},
...
}
Yukarıdaki örnekte değeri cloud.credentialPrecedence
değiştirilirken ve cloud.moduleAliases.CoreModules
değerleri cloud.moduleAliases.ContosoRegistry
birleştirilmiş yapılandırmaya eklenir.
Dosya çözümleme işlemini anlama
bicepconfig.json dosyası, Bicep dosyalarınızın aynı dizinine veya üst dizinine yerleştirilebilir. bicepconfig.json dosyaları içeren birden çok üst dizin varsa, Bicep en yakın dizinden yapılandırma dosyasını kullanır. Örneğin, her klasörün bir bicepconfig.json dosyası olduğu belirtilen klasör yapısında:
klasörde main.bicep derlerseniz, klasördeki bicepconfig.json dosyası child
kullanılır.child
Klasördeki ve klasördeki root
yapılandırma dosyaları parent
yoksayılır.
child
Klasör bir yapılandırma dosyası içermiyorsa, Bicep klasörde ve ardından root
klasörde bir yapılandırma parent
arar. Klasörlerin hiçbirinde yapılandırma dosyası bulunmazsa, Bicep varsayılan değerleri kullanır.
Birden çok modülü çağıran bicep dosyası bağlamında, her modül en yakın bicepconfig.json kullanılarak derlemeden geçer. Ardından ana Bicep dosyası ilgili bicepconfig.json ile derlenmiş olur. Aşağıdaki senaryoda, modA.bicep
klasöründe bulunan A
bicepconfig.json kullanılarak derlenmiş, modB.bicep
klasördeki B
bicepconfig.json ile derlenmiş ve son olarak, main.bicep klasöründeki bicepconfig.jsonroot
kullanılarak derlenmiş.
ve klasörlerinde A
bir bicepconfig.json dosyası olmadığında, üç Bicep dosyası da root
klasörde bulunan bicepconfig.json kullanılarak derlenir.B
bicepconfig.json klasörlerin hiçbirinde yoksa, derleme varsayılan değerleri kullanır.
Bicep modüllerini yapılandırma
Modüllerle çalışırken, modül yolları için diğer adlar ekleyebilirsiniz. Karmaşık yolları yinelemeniz gerekmeyen bu diğer adlar Bicep dosyanızı basitleştirir. Ayrıca, Bicep CLI ve Visual Studio Code'dan Azure'da kimlik doğrulaması yapmak için bulut profili ve kimlik bilgisi önceliği de yapılandırabilirsiniz. Kimlik bilgileri, kayıt defterlerine modül yayımlamak ve kaynak ekleme işlevi kullanılırken dış modülleri yerel önbelleğe geri yüklemek için kullanılır. Daha fazla bilgi için bkz . Bicep yapılandırmasına modül ayarları ekleme.
Linter kurallarını yapılandırma
Bicep linter, Söz dizimi hataları ve en iyi yöntem ihlalleri için Bicep dosyalarını denetler. Bicep dosyasının doğrulanmasıyla ilgili varsayılan ayarları geçersiz kılmak için bir bicepconfig.json dosyasını değiştirebilirsiniz. Daha fazla bilgi için bkz . Bicep yapılandırmasına linter ayarları ekleme.
Deneysel özellikleri etkinleştirme
Deneysel özellikleri etkinleştirmek için bicepconfig.json dosyanıza aşağıdaki bölümü ekleyebilirsiniz. Deneysel özelliklerin kullanılması, dil sürümü 2.0 kod oluşturmayı otomatik olarak etkinleştirir.
'assertions' ve 'testFramework' özelliklerini etkinleştirme örneği aşağıda verilmiştır.
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Bicep deneysel özellikleri hakkında daha fazla bilgi için bkz . Deneysel Özellikler .
Sonraki adımlar
- Bicep yapılandırma dosyasına modül ayarları ve linter ayarları eklemeyi öğrenin.
- Bicep linter hakkında bilgi edinin.