Konfigurace prostředí Bicep
Bicep podporuje volitelný konfigurační soubor s názvem bicepconfig.json
. V tomto souboru můžete přidat hodnoty, které přizpůsobí vývojové prostředí Bicep. Tento soubor se sloučí s výchozím konfiguračním souborem. Další informace najdete v tématu Vysvětlení procesu sloučení. Chcete-li přizpůsobit konfiguraci, vytvořte konfigurační soubor ve stejném adresáři nebo nadřazený adresář souborů Bicep. Pokud obsahuje více nadřazených adresářů obsahujících bicepconfig.json
soubory, Použije Bicep konfiguraci z nejbližšího adresáře. Další informace najdete v tématu Vysvětlení procesu řešení souborů.
Informace o konfiguraci nastavení rozšíření Bicep najdete v tématu VS Code a rozšíření Bicep.
Vytvoření konfiguračního souboru v editoru Visual Studio Code
Konfigurační soubor můžete vytvořit pomocí libovolného textového editoru.
Pokud chcete vytvořit soubor v editoru bicepconfig.json
Visual Studio Code, otevřete paletu příkazů ([CTRL/CMD]+[SHIFT]+P) a pak vyberte Bicep: Vytvořit konfigurační soubor Bicep. Další informace najdete v tématu Vytvoření konfiguračního souboru Bicep.
Rozšíření Bicep pro Visual Studio Code podporuje intellisense pro váš bicepconfig.json
soubor. Pomocí intellisense můžete zjistit dostupné vlastnosti a hodnoty.
Vysvětlení procesu sloučení
Soubor bicepconfig.json
prochází rekurzivním procesem sloučení dolů s výchozím konfiguračním souborem. Během procesu sloučení prozkoumá Bicep každou cestu v obou konfiguracích. Pokud cesta není ve výchozí konfiguraci, cesta a její přidružená hodnota se přidají do konečného výsledku. Naopak pokud cesta existuje ve výchozí konfiguraci s jinou hodnotou, má tato hodnota bicepconfig.json
přednost před sloučeným výsledkem.
Představte si scénář, ve kterém je výchozí konfigurace definována takto:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
A je bicepconfig.json
definován takto:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Výsledná sloučená konfigurace by byla:
{
"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"
}
}
},
...
}
V předchozím příkladu je hodnota cloud.credentialPrecedence
nahrazena, zatímco hodnota cloud.moduleAliases.ContosoRegistry
a cloud.moduleAliases.CoreModules
jsou připojeny ve sloučené konfiguraci.
Vysvětlení procesu řešení souborů
Soubor bicepconfig.json
lze umístit do stejného adresáře nebo nadřazeného adresáře vašich souborů Bicep. Pokud obsahuje více nadřazených adresářů obsahujících bicepconfig.json
soubory, použije Bicep konfigurační soubor z nejbližšího adresáře. Například v dané struktuře složek, kde má každá složka bicepconfig.json
soubor:
Pokud soubor ve child
složce zkompilujetemain.bicep
, bicepconfig.json
použije se soubor ve child
složce. Konfigurační soubory ve parent
složce a root
složka se ignorují. child
Pokud složka neobsahuje konfigurační soubor, Bicep vyhledá konfiguraci ve parent
složce a pak složkuroot
. Pokud se v žádné z těchto složek nenajde žádný konfigurační soubor, použije bicep výchozí hodnoty.
V kontextu souboru Bicep vyvolání více modulů prochází každý modul kompilací pomocí nejbližší bicepconfig.json
. Pak se hlavní soubor Bicep zkompiluje s odpovídajícím bicepconfig.json
souborem . V následujícím scénáři je modA.bicep
zkompilován pomocí bicepconfig.json
umístění ve A
složce, modB.bicep
je zkompilován se bicepconfig.json
B
složkou a nakonec je main.bicep
zkompilován pomocí bicepconfig.json
složky.root
Pokud soubor v souborech A
a B
složkách chybíbicepconfig.json
, všechny tři soubory Bicep se kompilují pomocí nalezené bicepconfig.json
root
ve složce. Pokud bicepconfig.json
v žádné z složek není, proces kompilace použije výchozí hodnoty.
Konfigurace modulů Bicep
Při práci s moduly můžete přidat aliasy pro cesty k modulům. Tyto aliasy zjednodušují váš soubor Bicep, protože nemusíte opakovat složité cesty. Můžete také nakonfigurovat prioritu cloudového profilu a přihlašovacích údajů pro ověřování v Azure z rozhraní příkazového řádku Bicep a editoru Visual Studio Code. Přihlašovací údaje slouží k publikování modulů do registrů a k obnovení externích modulů do místní mezipaměti při použití funkce vložení prostředku. Další informace najdete v tématu Přidání nastavení modulu do konfigurace Bicep.
Konfigurace pravidel Linter
Nástroj Bicep linter kontroluje chyby syntaxe a porušení osvědčených postupů v souborech Bicep. Výchozí nastavení pro ověření souboru Bicep můžete přepsat úpravou bicepconfig.json
. Další informace naleznete v tématu Přidání nastavení linter do konfigurace Bicep.
Povolení experimentálních funkcí
Experimentální funkce můžete povolit přidáním následující části do bicepconfig.json
souboru. Použití experimentálních funkcí automaticky umožňuje generování kódu verze 2.0 jazyka.
Tady je příklad povolení funkcí kontrolních výrazů a testFramework.
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Informace o aktuální sadě experimentálních funkcí naleznete v tématu Experimentální funkce.
Další kroky
- Přidání nastavení modulu v konfiguraci Bicep
- Přidání nastavení linteru do konfigurace Bicep
- Další informace o linteru Bicep